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

 
 
> Непонятное поведение UART.
Oleg_IT
сообщение Jul 31 2007, 07:17
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



С UART работаю в импульсном режиме, инициализирую UART, работаю с ним и выключаю обнулением его регистров и инициализирую пины работающие с UART на выход DDR = 1, PORT = 0. Если я не включаю режим Power Save после того как отработал UART, то, между импульсами на пине TXD ноль, если режим сна включаю, то единица. Очень редко однократно бывает ноль.
Режим сна включаю так (IAR)
……………………
MCUCR |= (1 << SE);
__sleep();
MCUCR &=~ (1 << SE);

Почему так происходит и как сделать на этом пине гарантированный ноль?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GDI
сообщение Jul 31 2007, 07:48
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Вообщето у УСАРТа не активный уровень лог "1", а поступивший затем "0" считается стартовым битом, т.о. может это удаленное устройство дает там единичку, а не ваш контроллер? Например преобразователь МАХ232 и т.п.
Второе: режимов сна существует несколько и в разных режимах отключается различный состав перефирии, хотя по-умолчанию там стоит режим Idle. Но мне кажется, что это маловероятная причина.

Что за контроллер у вас и какой режим сна используется?


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post



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

 


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


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