Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
30.03.2009, 10:44
|
|
Прописка
Регистрация: 21.10.2005
Сообщений: 251
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 17 сообщении(ях)
|
Ошибка при записи бит в порт F Megи 64
Проект собирается в Кодевижене v2.03.9 .
на команду - PORTF.0 = 0;он выдает ошибку -
Error: the first argument of the '.' operator must be of 'struct' or 'union' type
Однако вариант PORTB.0 = 0; проходит нормально .Т.Е. команда не работает иенно с портом F .Что за баг ,мож кто сталкивался.
|
|
|
|
30.03.2009, 13:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Где-то в *.h файле порт F не определен. Ищи где определяютя биты порта В и по аналогии сделай то же для порта F
|
|
|
|
30.03.2009, 13:33
|
|
Прописка
Регистрация: 21.10.2005
Сообщений: 251
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 17 сообщении(ях)
|
Да ,действительно .Как я об этом не подумал ![Бьюсь об стену](images/smilies/icon_obstenu.gif) .Спасибо !
|
|
|
|
30.03.2009, 14:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Ошибка при записи бит в порт F Megи 64
Сообщение от Beduin
|
на команду - PORTF.0 = 0;он выдает ошибку - Error: the first argument of the '.' operator must be of 'struct' or 'union' type
|
В курсе по AVR в задаче 1 "работа с битами портов AVR" http://avr123.nm.ru/z1.htm
я предупреждаю что формат CVAVR - PORTx.n
работает только с нижними адресами.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
30.03.2009, 22:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Ошибка при записи бит в порт F Megи 64
Сообщение от Beduin
|
Проект собирается в Кодевижене v2.03.9 .
на команду - PORTF.0 = 0;он выдает ошибку -
Error: the first argument of the '.' operator must be of 'struct' or 'union' type
Однако вариант PORTB.0 = 0; проходит нормально .Т.Е. команда не работает иенно с портом F .Что за баг ,мож кто сталкивался.
|
Т.К. порт F адресуется как ячейка памяти, а не как регистов вода-вывода, потому что не хватило (не предусмотрели при разработке)адресного пространства I/O и новые регистры портов И.Т.Д. вынесли в адреса РАМ (0x60-0x0ff) и команды работы с ними так же изменились на чтение/запись РАМ. Попробуй так
lds R16,portf
cbr R16,1‹‹0
sts portf,R16
Ребята.. читайте даташиты.
|
|
|
|
31.03.2009, 09:26
|
|
Прописка
Регистрация: 21.10.2005
Сообщений: 251
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 17 сообщении(ях)
|
Всем спасибо .Я с самого начала не стал редактировать хидер ,а сделал все логическим ИЛИ.
|
|
|
|
31.03.2009, 13:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от Beduin
|
Я с самого начала не стал редактировать хидер
|
А зачем его редактировать то ????
========
Читайте и делайте правильно - для всех регистров, переменных подойдет - управление битами в AVR для любых компиляторов
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
01.12.2009, 15:15
|
|
Прохожий
Регистрация: 13.06.2006
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Ошибка при записи бит в порт F Megи 64
Видимо, похожая проблема: на попытку анализа состояния входов порта K (ATMEGA640), например:
if (!(PINK.0))
компилятор CVAVR выдаёт сообщение: "the first argument of the '.' must be of 'struct' or 'union' type".
С другими портами не ругается. Как переехать?
|
|
|
|
01.12.2009, 18:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Ошибка при записи бит в порт F Megи 64
как-то так:
if ((PINK & 1)==0)
|
|
|
Сказали "Спасибо" MisterDi
|
|
|
02.12.2009, 12:00
|
|
Прохожий
Регистрация: 13.06.2006
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Ошибка при записи бит в порт F Megи 64
Сообщение от MisterDi
|
как-то так: if ((PINK & 1)==0)
|
Ура! Заработало! Спасибо.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:17.
|
|