Временные диаграммы работы USART в асинхронном режиме

Регистр управления SSPCON2

GSEN ASKSTAT ASKDT ASKEN RCEN PEN RSEN SEN
Бит 7             Бит 0

GSEN: разрешить прерывание при приеме адреса 0000h – общего вызова (Slave)

ASKSTAT: передача ведущего, 1/0 – нет/есть сигнал ASK от ведомого (Master)

ASKDT: прием ведущего, 1/0 – передать/нет ASK ведомому (Master).

ASKEN: сформировать сигнал ASKDT; аппаратно сбрасывается (Master).

RCEN: разрешить прием данных (Master).

PEN: сформировать STOP (Master).

RSEN: сформировать второй START (Master).

SEN: сформировать START (Master).


АСИНХРОННО-СИНХРОННЫЙ ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ (USART)

Режимы работы:

• Асинхронный (полнодуплексный)

• Ведущий синхронный (полудуплекс).

• Ведомый синхронный (полудуплекс).

Связан с регистрами SFR:

• TXSTA и RCSTA – регистры контроля и статуса передающей и приемной частей соответственно,

• RSR – внутренний сдвиговый регистр USART.

• RCREG – хранящего принятый байт и TXREG – регистра передаваемой информации. Имеет двойную буферизацию на приеме (можно принять 2 байта в буфер FIFO регистра RCREG и один – в регистр RSR).

• SPBRG – регистр скорости USART.

Для работы с портом необходимо осуществить его конфигурирование путем установки нужных битов в регистрах TXSTA и RCSTA.

Регистр TXSTA:

CSRC TX9 TXEN SYNC - BRGH TRMT TX9D
Бит 7             Бит 0

CSRC: 1/0 – ведущий/ведомый только в синхронном режиме

TX9: 1/0 - выбор формата посылки 9/8 бит

TXEN: 1/0 - разрешение/запрет передачи

SYNC: 1/0 - синхронный/асинхронный режим работы порта

BRGH: 1/0 - выбор скорости работы - высокая/низкая

TRMT: 1/0 - флаг состояния сдвигающего регистра передатчика (пустой/полный)

TX9D: 9-й бит передаваемых данных (может быть битом проверки на четность)