реклама на сайте
подробности

 
 
> При включении устройства, от него по UART сразу "приходит" 0
SZ0
сообщение Mar 16 2008, 17:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



На 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. Как с этим бороться?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Mar 16 2008, 18:58
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



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

Как с этим бороться, вам уже Сергей написал, а природа этого явления в том, что у вас изначально на передатчике (Tx UART-а) логический нуль, который является "стартом". Этот старт принимается UART-ом ПК. И когда ваша программа инициализирует UART на МК, логический нуль сменяется единицей, которая является "стопом". Терминальная программа на ПК при этом читает из UARTа 0x00, которого на самом деле не было.
Если быть точным, то в этой ситуации микросхема UARTа ПК выдает сигналы ошибок framing error и break, но обычно терминальные программы на них не реагируют sad.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01338 секунд с 7
ELECTRONIX ©2004-2016