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

 
 
> UART в меге 128, Это так и должно быть?
VladimirYU
сообщение Feb 16 2009, 07:16
Сообщение #1


Местный
***

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



Почему при чтении из UART mega 128?

Код
[/code]
BYTE result = UDR;
[code]


Все хорошо, а
Код
[/code]
BYTE result = UDR;
result = UDR;
[code]


все плохо, нигде в DS не нашел, что нельзя два раза подряд читать UDR.
Результат втрого чтения какая то фигня. Это так и должно быть?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrYuran
сообщение Feb 16 2009, 07:30
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(VladimirYU @ Feb 16 2009, 10:16) *
Результат втрого чтения какая то фигня. Это так и должно быть?

Что за фигня? По какому критерию оценивается, фигня или нет?
Вообще УАРТ в мегах организован как очередь, поэтому при первом чтении вы снимаете значение с верхушки, при втором - получаете следующее значение.

Во втором случае вы теряете значение с верхушки очереди, т.к. нигде его не используете, а при повторном чтении UDR получаете уже следующее значение


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 04:39
Рейтинг@Mail.ru


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