Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


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




Работа передатчика разрешается установкой в 1 бита TXEN (TXENn) регистра UCSRB (UCSRnB). При установке бита вывод TXD (ТХDn) под­ключается к передатчику UART и начинает функционировать как выход независимо от установок регистров управления портом. Если используется синхронный режим работы, то переопределяется также функционирова­ние вывода ХСК (ХСКn).

Передача инициируется записью передаваемых данных в буферный ре­гистр передатчика — регистр данных UDR (UDRjn). После этого данные пересылаются из регистра UDR (UDRn) в сдвиговый регистр передатчика. Одновременно, если используются 9-битные данные, значение бита ТХВ8(ТХВ8n) регистра UCSRB (UCSRnB) копируется в 9-й бит сдвигового ре­гистра. При этой возможны два варианта:

• запись в регистр UDR осуществляется в тот момент, когда передат­чик находится в состоянии ожидания (предыдущие данные уже пе­реданы). В этом случае данные пересылаются в сдвиговый регистр сразу же после записи в регистр UDR;

• запись в регистр UDR осуществляется во время передачи, в этом случае данные пересылаются в сдвиговый регистр после передачи последнего стоп-бита текущего кадра.

Очевидно, что 9-й бит данных должен быть загружен в бит ТХВ8 (ТХВ8n) до записи младшего байта слова в регистр данных.

После пересылки слова данных в сдвиговый регистр флаг UDRE (UDREn) регистра UCSRA (UCSRnA) устанавливается в 1, что означает готовность передатчика к получению нового слова данных. В этом состоя­нии флаг остается до следующей записи в буфер Одновременно с пере­сылкой в регистре формируется служебная информация — старт-бит, воз­можный бит четности, а также один или два стоп-бита.

После загрузки сдвигового регистра его содержимое начинает сдвигать­ся вправо и поступать на вывод TXD (TXDn). Скорость сдвига определяется настройками контроллера тактовых сигналов. В синхронном режиме изменение состояния вывода TXD (TXDn) происходит по одному из фронтов сигнала ХСК (ХСКn). Если бит UCPOL (UCPOLn) регистра UCSRC (UCSRnC) сброшен в 0, измене­ние состояния вывода происходит по нарастающему фронту сигнала, если же установлен в 1 — по спадающему фронту.

Если во время передачи в регистр UDR было записано новое слово данных, то после передачи последнего стоп-бита оно автоматически пере­сылается в сдвиговый регистр. Если же к моменту окончания передачи кадра буфер передатчика будет пуст, устанавливается флаг прерывания «передача завершена» ТХС (ТХСn) регистра UCSRA (UCSRnA). Сброс флага осуществляется аппаратно при входе в подпрограмму обработки со­ответствующего прерывания или программно, записью в этот бит лог. 1

Выключение передатчика осуществляется сбросом бита TXEN (TXENn) регистра UCSRB (UCSRnB). Если в момент выполнения этой команды осу­ществлялась передача, сброс бита произойдет только после завершения те­кущей и отложенной передач, т. е. после очистки сдвигового и буферного регистров передатчика. При выключенном передатчике вывод TXD (TXDn) может использоваться как контакт ввода/вывода общего назначения.

Ниже приведен простейший пример подпрограммы передачи по ин­терфейсу USART Эта подпрограмма ждет очистки буфера передатчика, а затем загружает в него новое значение.


Поделиться:

Дата добавления: 2014-12-30; просмотров: 146; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты