Перейти к содержанию
    

UART в меге 128

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

 



BYTE result = UDR;

 

Все хорошо, а



BYTE result = UDR;
result = UDR;

 

все плохо, нигде в DS не нашел, что нельзя два раза подряд читать UDR.

Результат втрого чтения какая то фигня. Это так и должно быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Результат втрого чтения какая то фигня. Это так и должно быть?

Конечно: он же с двойной буферизацией

 

A second buffer register has been added. The two buffer registers operate as a circular FIFO buffer. Therefore the UDR must only be read once for each incoming data! More important is the fact that the error flags (FE and DOR) and the ninth data bit (RXB8) are buffered with the data in the receive buffer.

 

 

Такшта, перед UDR рекомендуется еще и статус почитать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Результат втрого чтения какая то фигня. Это так и должно быть?

Что за фигня? По какому критерию оценивается, фигня или нет?

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Therefore the UDR must only be read once for each incoming data!  

Да налетел случайно

_Pasha :a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...