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

 
 
> Непонятное поведение 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
Ответов
KRS
сообщение Jul 31 2007, 09:40
Сообщение #2


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Oleg_IT @ Jul 31 2007, 11:17) *
С UART работаю в импульсном режиме, инициализирую UART, работаю с ним и выключаю обнулением его регистров и инициализирую пины работающие с UART на выход DDR = 1, PORT = 0.

Так когда UART не активен должна быть 1 на ноге. К тому же RX лучще настраивать на вход (чтобы конфликта не было) ну можно включить pull-up поэтому
DDR должен быть (1<<TXD), а PORT = (1<<TXD) или PORT = (1<<TXD) | (1<<RXD) для pull-up на RX
Go to the top of the page
 
+Quote Post



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

 


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


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