ВУЗ:
Составители:
Пример приема данных по USART (байт принимается в переменную
RX_DATA):
SER_IN
BTFSC RCSTA, OERR ; проверка бита ошибки переполнения
GOTO OVERERROR ; если была ошибка – перейти на подпрограмму
; обработки данной ошибки
BTFSC RCSTA, FERR ; проверка бита ошибки кадра
GOTO FRAMEERROR ; если была ошибка – перейти на подпрограмму
; обработки данной ошибки
; Ошибок нет
UART_READY
BTFSS PIR1, RCIF ; приняты ли данные?
GOTO SER_IN ; если не приняты – повторить операции
; Данные приняты
MOVF RCREG, W ; поместить принятые данные в аккумулятор
MOVWF RX_DATA ; сохранить их в переменной RX_DATA
Побитное описание регистров управления USART (TXSTA и RCSTA)
приведено ниже.
Регистр TXSTA (адрес 98h)
Регистр управления и статуса передатчика
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R -1 R/W-0
CSRC
TX9
TXEN
SYNC
-
BRGH
TRMT
TX9D
D7 D0
R – бит для чтения W – бит для записи -n – значение после сброса
-х – неизвестное значение после сброса
бит 7: CSRC – Выбор источника тактового сигнала
Асинхронный режим
Не имеет значения
Синхронный режим
1 = ведущий, внутренний тактовый сигнал от BRG
0 = ведомый, внешний тактовый сигнал с входа СК
бит 6: TX9 – Разрешение 9-разрядной передачи
1 = 9-разрядная передача
0 = 8-разрядная передача
бит 5: TXEN – Разрешение передачи
1 = разрешена
0 = запрещена
Примечание. В синхронном режиме биты SREN/CREN отменяют бит TXEN
бит 4: SYNC – Режим работы USART
1 = синхронный
0 = асинхронный
бит 2: BRGH – Выбор высокоскоростного режима
Асинхронный режим
1 = высокоскоростной режим
0 = низкоскоростной режим
Синхронный режим
Не имеет значения
бит 1: TRMT – Флаг очистки сдвигового регистра передатчика (TSR)
1 = TSR пуст
0 = TSR полон
бит 0: TX9D – 9-й бит передаваемых данных (может использоваться для
программной проверки четности)
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »