Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР2.docx
Скачиваний:
0
Добавлен:
12.02.2026
Размер:
2.6 Mб
Скачать
  1. Регистр ucsRxB

Основную роль играют биты RXEN (Receiver Enable) и TXEN (Transmitter Enable) – при записи в них логической единицы осуществляется разрешение приема и передачи, соответственно. (лучше сразу все разрешить).

RXCIEn (RX Complete Interrupt Enable) – осуществляет разрешение прерывания по завершению приема данных.

TXCIE (TX Complete Interrupt Enable) – осуществляется разрешение прерывания по завершению передачи данных.

UDRIEn (UART DATA Register Empty Interrupt Enable) – осуществляется разрешение прерывания по опустошению регистра передачи данных UDR.

Следующий бит (UCSZn2,1,0) – один в регистре В, два других в С. Эти три бита определяют количество бит данных, которые мы передаем в нашем пакете (надо выставить так, чтобы передавали 8 бит). Оставшиеся биты если надо передать больше.

  1. Регистр ucsRxC

В этом регистре мы выбираем необходимый протокол передачи данных.

UMSELn (UART Mode Select) – задаем формат передачи – синхронный или асинхронный (00 – асинхронный, 01 – синхронный, 11 – SPI).

UPMn1:0 (UART Parity Mode) – установка проверки на четность, по умолчанию в оба бита записаны логические нули, передача данных ведется без проверки на четность. (10 – четный, 11 – нечетные)

USBSn (UART Stop Bit Select) – определяет количество стоповых битов (0 – 1 стоповый бит, 1 – 2 стоповых бита).

UCSZn1:0 (UART Character Size) – уже упоминался выше. Определяет количество передаваемых битов данных – от 5 до 9.

UCPOLn – полярность нашего тактового сигнала (для синхронной передачи).

  1. Регистровая пара UBRRH:UBRRL.

Старший (H) использует всего 4 бита. Число разбиваем на две части и записываем в регистры.

Скорость передачи данных

Измеряется в бодах (бит/сек). Вычисляется по следующей формуле:

Нижняя для режима удвоенной скорости.

fOSC – тактовая частота, на которой работает наш мк (без предделителя и всего такого).

BAUD – требуемая скорость.

Скорость выбираем по следующей табличке. Указана в битах в секунду. Чем выше скорость, тем больше ошибка рассинхронизации, поэтому на высоких скоростях целесообразно использовать специализированные кварцы (с неравными значениями).