CodeVision AVR в вопросах и ответах
Re: CodeVision AVR в вопросах и ответах
Может, конечно, но дело уже на принцип пошло.
Растолкуйте на пальцах, пожалуйста (только без среднего).
Растолкуйте на пальцах, пожалуйста (только без среднего).
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
Re: CodeVision AVR в вопросах и ответах
DataLife
Поставьте внутреннюю подтяжку: PORTB.3=1;
Поставьте внутреннюю подтяжку: PORTB.3=1;
Re: CodeVision AVR в вопросах и ответах
DataLife писал(а):Тыкните меня носом в то место, где я не так делаю?
PINB.3=1; - до начала программы, что бы дальнейший цикл не начался раньше времени, подаю на пинБ.3 лог_1.
PORTB=0x00; - все ноги на "выходе", вроде бы как...
Расталкуйте, что тут имеется в виду под подтяжкой? Я что-то запутался.
Голова кругом... не моё это программирование...
SOS!
Неплохо бы конечно почитать про устройство портов для начала, а то ШИМ, понимаешь..
PINB.3=1; - до начала программы, что бы дальнейший цикл не начался раньше времени, подаю на пинБ.3 лог_1.
Как физически выглядит ваше устройство? Вы можете записывать в ПИНБ.3 все что угодно, но при последующей проверке в цикле значение этого ПИНБ.3 будет определяться уровнями напряжений на нем. Сейчас у вас ПОРТБ.3 в воздухе болтается, вот
Код: Выделить всё
PORTB=0x00;
DDRB=0x03;-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: CodeVision AVR в вопросах и ответах
Подскажите пжлст какая реальная скорость программного i2c в CVAVR. Где то читал что можно её увеличить путём уменьшения задержек в скомпиленно коде - мож кто поделится опытом ? - а то я c ASMoм на вы!!!
-
aleksandr88
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
Re: CodeVision AVR в вопросах и ответах
Подскажите почему вылетает ошибка при определении порта и бита для датчика ds18b20
#asm
.equ __w1_port=0x15; PORTC
.equ __w1_bit=3
#endasm
ОШИБКА "Error(s) occured assembly" появляется вкладка библиотеки 1asm и в ней указывается на строки
.equ __w1_port=0x1B
.equ __w1_bit=0x00
если подключаю к этому порту и биту все фу рычит а другой назначить не могу
библиотека <1wire.h> подключена
#asm
.equ __w1_port=0x15; PORTC
.equ __w1_bit=3
#endasm
ОШИБКА "Error(s) occured assembly" появляется вкладка библиотеки 1asm и в ней указывается на строки
.equ __w1_port=0x1B
.equ __w1_bit=0x00
если подключаю к этому порту и биту все фу рычит а другой назначить не могу
библиотека <1wire.h> подключена
Re: CodeVision AVR в вопросах и ответах
Так напиши там, куда указывает ошибка, то же, что и до этого написал.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
-
aleksandr88
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
Re: CodeVision AVR в вопросах и ответах
я прописываю но после компиляции все значение в 1.asm скидываются на прежние значение .вот скрин
- Вложения
-
- 123.JPG
- 1
- (59.09 КБ) 318 скачиваний
Последний раз редактировалось aleksandr88 Ср июн 08, 2011 12:32:08, всего редактировалось 1 раз.
Re: CodeVision AVR в вопросах и ответах
Скрин не видать. Какие вообще библиотеки подключены?
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
-
aleksandr88
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
Re: CodeVision AVR в вопросах и ответах
да скрин не хочет грузится(
библиотеки 1wire,delay.h,ds18b20.h,lcd.h,stdio.h и проект подключил автоматом mega16_bits.h,stdarg.h
библиотеки 1wire,delay.h,ds18b20.h,lcd.h,stdio.h и проект подключил автоматом mega16_bits.h,stdarg.h
Re: CodeVision AVR в вопросах и ответах
Если можно дайте пожалуйста код на Си.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
-
aleksandr88
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
Re: CodeVision AVR в вопросах и ответах
Посмотрел, вроде всё правильно... Извините за наглость, но потребовался проект. Попробую скомпилировать.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
-
aleksandr88
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
Re: CodeVision AVR в вопросах и ответах
уф )))) все разрешилось методом научного тыка ))) я ассемблерную вставку просто перенес в самый верх программы
и заработало все. Спасибо вам *Trigger* за оперативность ответа и желание помочь не думал что кто то сразу откликаться на мой вопрос )еще раз спасибо!!!
и заработало все. Спасибо вам *Trigger* за оперативность ответа и желание помочь не думал что кто то сразу откликаться на мой вопрос )еще раз спасибо!!!
- demonchik
- Встал на лапы
- Сообщения: 94
- Зарегистрирован: Вт апр 07, 2009 13:39:13
- Откуда: одесса
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
КОТЫ!! привет!!! возник вопрос, но поиск по теме ничего не находит, вот я его и задам... есть необходимость передавать в функцию массив по указателю. ДА!!! плевое дело!!! но с передачей строки. а вот с передачей двумерного массива по ссылке уже стало проблемой. пишет что Error: 2.c(68): function argument #1 of type 'unsigned char [10][8]' is incompatible with required parameter of type 'unsigned char *'. как сделать чтоб понял кодвижен. тут есть наверно отступление от стандартов, свойственных данной среде?
радиоэлектроника - жизнь моя...
- IfoR
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Сб ноя 15, 2008 10:09:56
- Откуда: г. Тула
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Ну динамический массив описывается как указатель на блок указателей на блок элементов. В таком случае в функцию достаточно было бы вписать параметр . Здесь проблем никаких не будет.
Но у вас используется статический массив, который представляется как указатель на одномерный массив, а обращение к элементу осуществляется с помощью высчитывания смещения, учитывая заданные границы массива.
Отсюда вывод: обращаться к матрице так, как вы обращаетесь технически можно, но компилятор вам не даёт это сделать по этическим соображениям.
Например, можно так:
Или так:
Однако, здесь возникает проблема: А как, не зная размеры матрицы, высчитать смещение? Тогда придется передать функции ещё и размер матрицы и вручную вычислять смещение.
По этому в параметре функции, в общем случае, придётся объявлять опять же статический массив:
К слову, первое число в объявлении не обязательно, т.к. оно не участвует в формировании смещения:
Ну а далее по ситуации.
P.S. да, стати, по ссылке массив передавать, ну скажем так, не имеет смысла, т.к. сама конструкция массива уже подразумевает присутствие указателя на этот массив. По этому вычислять ещё один указатель (который будет указывать на указатель на массив) для передачи по ссылке...
Код: Выделить всё
unsigned char **XНо у вас используется статический массив, который представляется как указатель на одномерный массив, а обращение к элементу осуществляется с помощью высчитывания смещения, учитывая заданные границы массива.
Отсюда вывод: обращаться к матрице так, как вы обращаетесь технически можно, но компилятор вам не даёт это сделать по этическим соображениям.
Например, можно так:
Код: Выделить всё
char M[10][10];
void func(char *X)
{
}
int main()
{
func( (char *)M ):
return 0;
}Или так:
Код: Выделить всё
char M[10][10];
void func(void *X)
{
}
int main()
{
func( M ):
return 0;
}Однако, здесь возникает проблема: А как, не зная размеры матрицы, высчитать смещение? Тогда придется передать функции ещё и размер матрицы и вручную вычислять смещение.
По этому в параметре функции, в общем случае, придётся объявлять опять же статический массив:
Код: Выделить всё
char M[10][10];
void func(char X[10][10])
{
}
int main()
{
func( M ):
return 0;
}К слову, первое число в объявлении не обязательно, т.к. оно не участвует в формировании смещения:
Код: Выделить всё
void func(char X[][10])
Ну а далее по ситуации.
P.S. да, стати, по ссылке массив передавать, ну скажем так, не имеет смысла, т.к. сама конструкция массива уже подразумевает присутствие указателя на этот массив. По этому вычислять ещё один указатель (который будет указывать на указатель на массив) для передачи по ссылке...
- demonchik
- Встал на лапы
- Сообщения: 94
- Зарегистрирован: Вт апр 07, 2009 13:39:13
- Откуда: одесса
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
IfoR, спасиб за вразумительное обьяснение!!! понял.
буду идти дальше. вот примонтировал карточку к контроллеру, перенес дисплей на програмный SPI, теперь думаю писать что-то вроде файлового менеджера. СПАСИБ ОГРОМНОЕ ЗА ПОМОЩЬ, IfoR, и всем остальным также, откликавшимся ранее!!!
буду идти дальше. вот примонтировал карточку к контроллеру, перенес дисплей на програмный SPI, теперь думаю писать что-то вроде файлового менеджера. СПАСИБ ОГРОМНОЕ ЗА ПОМОЩЬ, IfoR, и всем остальным также, откликавшимся ранее!!!радиоэлектроника - жизнь моя...
Re: CodeVision AVR в вопросах и ответах
Подскажите, плиз, а как копировать ворнинги и ошибки в буфер обмена?
Re: CodeVision AVR в вопросах и ответах
Правой клавишей -> Copy.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Re: CodeVision AVR в вопросах и ответах
Наверное не там смотрю))
- Вложения
-
- 123.JPG
- (138.54 КБ) 434 скачивания
Re: CodeVision AVR в вопросах и ответах
Надо снизе нажимать. В поле Messages.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
