roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 май 2025, 16:45

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: ATmega32 + UART + Proteus - RX не работает
СообщениеДобавлено: 12 апр 2006, 19:48 
Не в сети

Зарегистрирован: 12 апр 2006, 19:13
Сообщения: 7
Откуда: Калуга
есть: Proteus 6.7 SP3
СVAVR 1.24.8b

Есть проект где визардом сгенерировано все для USART (прерывания и буферы)
Передача идет вроде без проблем, но вот на приеме он виснет и протеус в логе кидает такую фразу
Цитата:
Warning: [U1] Spurious interrupt UNUSED ignored


и все...
я уже сталкивался с глюком Протеуса на PIC16F877 на шине I2C поэтому готов грешить как на компилятор так и на эмулятор...
help!
------
проверил на ArtmanAVR IDE
тоже не фурычит.
передача идет нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 00:51 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
попробуй в VMLAB

задачи 2 и 8а  - там http://avr123.nm.ru/avrpic06.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 07:30 
Не в сети

Зарегистрирован: 12 апр 2006, 19:13
Сообщения: 7
Откуда: Калуга
да, собственно, уже со всем разобрался...
оказалось что Proteus работает некорректно именно при включенном прерывании на RX_COMPLETE. Если его выключить - все нормально принимается.
что характерно, в нем самом говорится лишь про ограничение на UART(типа USART лень было заморачиваться)...
а VMLAB меня не особо порадовал. и он не хочет брать исходники из-под CVAVR.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 09:05 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Аристарх писал(а):
а VMLAB меня не особо порадовал. и он не хочет брать исходники из-под CVAVR.


Если вы не умеете это делать не надо "наговаривать" на программу что она что-то не хочет !

Написал же вам где научится:

попробуй в VMLAB

задачи 2 и 8а  - там http://avr123.nm.ru/avrpic06.htm

VMLAB исходники берет именно из CVAVR


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 10:36 
Не в сети
Аватара пользователя

Зарегистрирован: 24 ноя 2004, 12:36
Сообщения: 195
Откуда: Харьков
Аристарх писал(а):
да, собственно, уже со всем разобрался...
оказалось что Proteus работает некорректно именно при включенном прерывании на RX_COMPLETE. Если его выключить - все нормально принимается.


У меня все работает правда я компилю под WINAvr

Аристарх писал(а):
что характерно, в нем самом говорится лишь про ограничение на UART(типа USART лень было заморачиваться)...

Здесь имелось ввиду отсутствие СИНХРОННОГО режима работы а в
АСИНХРОННОМ все работает с пол пинка.

УДАЧИ!! :о))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 11:21 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
вобщем когда что-то не получается не надо сразу на зеркало грешить...

начинать с себя !  что я делаю не так ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 15:31 
Не в сети

Зарегистрирован: 12 апр 2006, 19:13
Сообщения: 7
Откуда: Калуга
avr123.nm.ru писал(а):
вобщем когда что-то не получается не надо сразу на зеркало грешить...

начинать с себя !  что я делаю не так ?

и что я в следующем примере сделал не так?


Вложения:
uart_sample.rar [47 КиБ]
Скачиваний: 88
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 21:25 
Не в сети
Аватара пользователя

Зарегистрирован: 24 ноя 2004, 12:36
Сообщения: 195
Откуда: Харьков
У тебя прием работает а ПЕРЕДАЧА нет.

if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
tx_buffer[tx_wr_index]=c

Зачем класть в буфер если регистр данных на передачу ПУСТОЙ?

Убери лишнее, помахайся одним символом без буфера, убедись что ВСЕ РАБОТАЕТ а потом наворачивай программу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 апр 2006, 23:58 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Аристарх писал(а):
avr123.nm.ru писал(а):
вобщем когда что-то не получается не надо сразу на зеркало грешить...


и что я в следующем примере сделал не так?


я не знаю что вы там сделали.

Я вам о том что VMLAB прекрасно работает с CVAVR.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 апр 2006, 22:12 
Не в сети

Зарегистрирован: 12 апр 2006, 19:13
Сообщения: 7
Откуда: Калуга
Tracer писал(а):
У тебя прием работает а ПЕРЕДАЧА нет.
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
tx_buffer[tx_wr_index]=c

Зачем класть в буфер если регистр данных на передачу ПУСТОЙ?

а там и не кладется. ветка ELSE.
Цитата:
Убери лишнее, помахайся одним символом без буфера, убедись что ВСЕ РАБОТАЕТ а потом наворачивай программу.

гм... так и делаю (опыт отладки имеется).
но я не говорю, что это вообще не работает. Не работает конкретно в Proteus, и только там!
Для проверки себя реализовал те же функции, но через PIC - там все работает без запинки.
2 avr123.nm.ru: вы написали очень хороший курс по освоению МК серии AVR, но вопрос сейчас не про VMLAB. вопрос про Proteus.[/i]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 апр 2006, 02:39 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Аристарх писал(а):
вопрос сейчас не про VMLAB.

вопрос про Proteus.[/i]


я не отвечаю на вопрос!

я опровергаю вот это ВРАНЬЕ:

Аристарх писал(а):
а VMLAB меня не особо порадовал. и

он не хочет брать исходники из-под CVAVR.


Еслиб вы написали что у вас не получилось работать в VMLAB с исходниками из CVAVR  - то VMLAB был бы ни причем.

========

симуляцией в VMLAB вы можете
определить виноват ли PROTEUS - так что я по теме!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 апр 2006, 14:01 
Не в сети

Зарегистрирован: 12 апр 2006, 19:13
Сообщения: 7
Откуда: Калуга
Уважаемый, avr123.nm.ru я понимаю, что фразу "не хочет работать с исходниками CVAVR" можно понять как "он ВООБЩЕ с ними не работает", но это НЕ ТАК, ибо в итоге генерится АСМ файл, который можно подогнать подо ЧТО УГОДНО. Поэтому мою фразу и надо было расценить как "не получилось".
Но я согласен, что звучит категорично.
Далее, данная тема про, если мне не изменяет моя память, называется ATmega32 + UART + Proteus. Где вы видите в названии VMLAB? И вопрос стоит именно о проверке на роботоспособноть Proteus и, если это возможно, обнаружение способа обхода этой проблемы. Я НЕ СОМНЕВАЮСЬ в работоспособности кода, генерируемого VCAVR и искал людей, которые уже сталкивались с данной проблемой и либо ее решили, либо нет.
А наша перепалка - это, простите, демагогия. Если вы так сильно цепляетесь к словам, которые не важны в данном контексте(а важны в другом), то будьте добры сдерживать себя. Я не намерен далее прерираться по этому вопросу.
И, к слову, ваши ответы ни на йоту не помогли в решении данной проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 апр 2006, 14:22 
Не в сети

Зарегистрирован: 12 апр 2006, 19:13
Сообщения: 7
Откуда: Калуга
Tracer писал(а):
У меня все работает правда я компилю под WINAvr


и эмулируется в Proteus?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 апр 2006, 19:26 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Аристарх писал(а):
Уважаемый, avr123.nm.ru я понимаю, что фразу "не хочет работать с исходниками CVAVR" можно понять как "он ВООБЩЕ с ними не работает", но это НЕ ТАК, ибо

в итоге генерится АСМ файл, который можно подогнать подо ЧТО УГОДНО.


"исходник" в  CVAVR  это именно текст программы на Си, вот по нему вы и можете двигаться при симуляции в VMLAB.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 16 апр 2006, 12:58 
Не в сети
Аватара пользователя

Зарегистрирован: 24 ноя 2004, 12:36
Сообщения: 195
Откуда: Харьков
Не поленился проверил
Результат:
на 8535 РАБОТАЕТ :)
на М8 М16 М32 НЕ РАБОТАЕТ :x
на М128 РАБОТАЕТ :P

Наверное модель глючит она с UCSRC никак не разберется оттуда и все проблемы.

народ уже вроде 6.84 ставит может там пофиксили

PS
Извини что ввел тебя в заблуждение
Сам не ожидал что такое бывает на М128 работает а на М32 нет
PSS
ИМНО И всеравно та связка - условие не есть ГУД


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO