Хелпикс

Главная

Контакты

Случайная статья





Аппаратнаячасть. Использование UART’a



Аппаратнаячасть

Ну тут все просто, соединяем крест-накрест приемник с передатчиком и готово.

 

 

 


Рисунок 2 – Соединение приемника и передатчика в RS232

 

 

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

Такая структура исключает возможность считать не до конца полученный байт.
Буфер приема состоит из двух байт, что позволяет ему держать два в уме и один еще засасывать в сдвиговый регистр.

 

Использование UART’a

У AVR есть регистр UDR это UART Data Register (в некоторых контроллерах он может зваться UDR0 или еще как нибудь похоже). На самом деле это два разных регистра, но имеют один адрес. Просто на запись попадает в один (регистр передатчика), а на чтение берет из другого (регистр приемника). Таким образом достаточно просто пихать данные в этот регистр и они уйдут приемнику, и, наоборот, считывать их оттуда по приходу.

О том, что байт пришел в регистр UDR нам скажет прерывание по завершению приема, которое вызывается сразу же, как приемник засосет в себя все биты (обычно 8, но может быть и 9, в зависимости от настройки).

Поскольку передача идет довольно медленно, то бездумно пихать данные в регистр UDR нельзя — нужно дождаться окончания передачи предыдущего байта. О том, что UDR пуст и готов к приему нового байта сигнализирует бит UDRE, он же вызовет аппаратное прерывание по опустошению буфера.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.