Временные диаграммы работы 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-й бит передаваемых данных (может быть битом проверки на четность)