Микроконтроллер AT90S2313

         

Передача данных


Передача данных инициируется записью передаваемых данных в  регистр ввода/вывода данных UART - UDR. Данные пересылаются из UDR в сдвиговый регистр передатчика когда:

     - новый  символ записывается  в UDR  после того  как был выдвинут стоповый бит для предыдущего  символа. При этом сдвиговый  регистр загружается сразу.

     - новый символ записывается в  UDR до того, как выдвинут  стоповый бит для предыдущего символа.  При этом сдвиговый регистр  записывается сразу после того, как будет выдвинут стоповый бит предыдущего символа. При этом в регистре состояния UART - USR устанавливается бит-признак очистки регистра данных -  UDRE/. Когда этот бит установлен,  UART готов к приему следующего символа. Пре перезаписи UDR в 10(11)- разрядный сдвиговый регистр, бит 0 сдвигового регистра обнуляется  (стартовый бит), а бит 9 или 10 устанавливается (стоповый бит). Если  выбрано 9-битовое слово данных (установлен бит CHR9 в регистре UCR), бит  TXB8 из UCR переписывается в 9-й бит сдвигового регистра передатчика.

После тактового импульса, следующего с частотой передачи, стартовый бит выдвигается на вывод  TXD. Затем выдвигаются данные, начиная  с младшего бита. После того как выдвинут стоповый бит, в сдвиговый  регистр загружаются новые данные, если они были записаны в UDR во  время передачи. При  загрузке устанавливается  бит UDRE.  Если до выдвижения стопового бита в регистр UDR не поступают новые данные, UDRE  остается установленным до последующей записи UDR. Если новые данные не поступили и на выводе TXD появляется стоповый бит, в регистре USR устанавливается флаг окончания передачи - TXC.

Установка бита TXEN в UCR разрешает работу передатчика. При очистке бита TXEN, вывод PD1 можно использовать для ввода/вывода  данных. Если бит TXEN установлен, передатчик UART подключен к выводу PD1 независимо от установки бита DDD1 в регистре DDRD.



Содержание раздела