Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не могу разобраться с симулятором в AVRStudio 4.11
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
dinam
Пытаюсь разобраться с USART0 в ATMEGA128, а точнее с битом TXC0. Вроде всё понятно (прочел документацию и в конференциях неоднократно поднималась эта тема), но работает в железе как-то не правильно. Может есть документ с errata в атмеге? Вот захотел просимулировать приём по USART, но не могу понять как подключить файл с нужными мне байтами. Нашел куда файл подключать(Debug->AVR simulator options->Stimuli and logging), но не могу понять как мне этот файл заполнить.
arttab
Мне кажется что это путь в тупик. работу уарта надо проверять на железе. а в симуляции искать ошибки в ручную, вводя данные в уарт. И то если не получилось выловить ошибку в проге на железе (тестовую информацию выкидовать для анализа. порядок временн в симуляции и реальности сильно не совпадает и действует на человеческий фактор
KRS
Цитата(dinam @ Sep 13 2005, 13:25)
Пытаюсь разобраться с USART0 в ATMEGA128, а точнее с битом TXC0. Вроде всё понятно (прочел документацию и в конференциях неоднократно поднималась эта тема), но работает в железе как-то не правильно. Может есть документ с errata в атмеге? Вот захотел просимулировать приём по USART, но не могу понять как подключить файл с нужными мне байтами. Нашел куда файл подключать(Debug->AVR simulator options->Stimuli and logging), но не могу понять как мне этот файл заполнить.
*


А что значит не правильно работает?
Я много раз использовал именно этот флаг, все ок!
может вы его сбрасывать забываете? в отличии от UDRE его надо сбрасывать вручную, если прерывания не используются!
dinam
Использую USART для RS485. Хочу проверить то что сам посылаю. Попробовал отдельно режимы приёма и передачи по прерываниям. Всё работает замечательно. Теперь хочу сделать чтобы по прерыванию USART0_RX я мог получить извне данные, а также проверить то что сам послал. Для того чтобы определить что произошло прерывание после моей передачи я опрашиваю бит TXC0. И он оказывается сброшен! Хотя после записи в регистр UDR0 я жду когда битик TXC0 устанавливается в единицу и только потом разрешаю прерывания.
vzyk
Цитата(dinam @ Sep 14 2005, 13:41)
Для того чтобы определить что произошло прерывание после моей передачи я опрашиваю бит  TXC0. И он оказывается сброшен! Хотя после записи в регистр UDR0 я жду когда битик TXC0 устанавливается в единицу и только потом разрешаю прерывания.
*


Я почти уверен, что у вас TXC прерывание активная, и когда её разрешаете, оно возникает, сбрашивает TXC0, и только тогда вы её опрашиваете.
dinam
Нет, TXC прерывание не активное, ещё раз проверил.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.