Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: При включении устройства, от него по UART сразу "приходит" 0
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
SZ0
На ATtiny2313 столкнулся. Как только разрешам передачтик UART тут же получаю на COM порт компа 0. А после это байт $AA:

Код
ldi    r16,(1<<RXEN)|(1<<TXEN)
out    UCSRB,r16
ldi    r16,$AA
out    UDR,r16


делал так:
Код
ldi    r16,$AA
out    UDR,r16
ldi    r16,(1<<RXEN)|(1<<TXEN)
out    UCSRB,r16


тоже сперва получаю 0. Как с этим бороться?
Сергей Борщ
Цитата(SZ0 @ Mar 16 2008, 19:35) *
Как с этим бороться?
Можно попробовать поставить подтяжку с выхода передачи к питанию, чтобы обеспечить в линии высокий уровень до инициализации UART. И при инициализации порта, если она происходит до настройки UART, обеспечить единицу на этом выходе.
Baser
Цитата(SZ0 @ Mar 16 2008, 19:35) *
Как только разрешам передачтик UART тут же получаю на COM порт компа 0. А после это байт $AA:
Как с этим бороться?

Как с этим бороться, вам уже Сергей написал, а природа этого явления в том, что у вас изначально на передатчике (Tx UART-а) логический нуль, который является "стартом". Этот старт принимается UART-ом ПК. И когда ваша программа инициализирует UART на МК, логический нуль сменяется единицей, которая является "стопом". Терминальная программа на ПК при этом читает из UARTа 0x00, которого на самом деле не было.
Если быть точным, то в этой ситуации микросхема UARTа ПК выдает сигналы ошибок framing error и break, но обычно терминальные программы на них не реагируют sad.gif
injen-d
Обычно бывает достаточно просто НЕ инициализировать линию Tx как выход. По сбросу все порты настроены как входы, а это будет распознаваться как "пассивная" "1" или "висячий провод". Т.е. если использовать для согласования с COM-портом какую-нибудь микросхемку тапа MAX232, MAX233, проблем обычно не возникает. На счет транзисторных преобразователей - не знаю.
ЗЫ: попадался мне старый девайс, у которого для согласования с COM-портом использовались древние военные микросхемки хххАПх и хххУПх, грелись они так, что аш обжигали, но работали! Правда каждый раз при включении и выключении девайса на комп приходил всякий мусор.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.