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

 
 
> UART
Enot555
сообщение Apr 25 2008, 23:53
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 25-04-08
Пользователь №: 37 100



Доброго времени суток!
Подскажите, пожалуйста, как вывести контроллер (ATmega8) из режима передачи?
При организации прерываний по USART_DR_Empty и USART_Transmit_Complete после окончания передачи устанавливаются флаги UDRE и TXE и, поскольку UDRE имеет приоритет по прерываниям, то до TXE дело никогда не доходит. Как сбросить UDRE без записи в него новых данных (которые он воспринимает как данные для передачи следующего бита и так далее...)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ae_
сообщение Apr 26 2008, 00:22
Сообщение #2


Участник
***

Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695



UDRE не нужно сбрасывать, UDRE=1 сразу после сброса и означает, что UART готов передавать данные. Надо просто запрещать прерывания UDRIE=0, когда больше нечего передавать.
Go to the top of the page
 
+Quote Post
Enot555
сообщение Apr 26 2008, 01:06
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 25-04-08
Пользователь №: 37 100



[quote name='ae_' date='Apr 26 2008, 03:22' post='403016']
UDRE не нужно сбрасывать, UDRE=1 сразу после сброса и означает, что UART готов передавать данные. Надо просто запрещать прерывания UDRIE=0, когда больше нечего передавать.



спасибо, понял


[quote name='ae_' date='Apr 26 2008, 03:22' post='403016']
UDRE не нужно сбрасывать, UDRE=1 сразу после сброса и означает, что UART готов передавать данные. Надо просто запрещать прерывания UDRIE=0, когда больше нечего передав

Хотя нет, попробовал на практике и не понял, ведь когда осуществляется прерывание по UDRIE, еще идет передача битов последнего байта. Как тогда контролировать окончание передачи, по последнему биту сдвигового регистра? Если так, то какой его (регистра) адрес (не нашел ни в одном описании)?.

Сообщение отредактировал Enot555 - Apr 26 2008, 01:08
Go to the top of the page
 
+Quote Post



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

 


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


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