ВУЗ:
Составители:
2) Регистр USR – регистр статуса UART (UART Status Register)
Регистр USR – регистр статуса UART, в нем хранится информация о
текущем состоянии UART.
USR адрес $0B ($2B)
3) Регистр UDR – регистр данных UART (UART Data Register)
Это регистр собственно данных UART. В этот регистр записываются
данные для передачи по UART; при приеме из линии UART принятые
данные помещаются в этот же регистр.
UDR адрес $0C ($2C)
R/W-0 R/W-
0
R/W-
0
R/W-
0
R/W-0 R/W-0 R/W-0 R/W-0
D7
D6 D5 D4 D3 D2 D1 D0
4) Регистр UBRR – регистр скорости обмена (UART BaudRate Register)
Регистр UBRR, адрес $09 ($29) – 8-разрядный регистр, который задает
скорость обмена UART в соответствии с нижеприведенным выражением.
Генератор скорости обмена
Генератор скорости обмена в микроконтроллерах AVR – это делитель
частоты, который генерирует скорость в соответствии с выражением:
)1(16
1
_
+⋅
⋅=
UBRR
ck
FRateBaud
,
где
Baud_rate – скорость передачи (бод);
F
ck
– частота тактового генератора контроллера;
UBRR – значение регистра скорости обмена UBRR.
В таблице 4.3 приведены значения регистра UBRR и процентное
отклонение полученной скорости от расчетной для некоторых частот
кварцевых генераторов на микроконтроллере.
Таблица 4.3. Значения UBRR для стандартных скоростей передачи при
различных частотах.
Скорость
1 МГц
Ошибка,
%
1 .8432 МГц
Ошибка,
%
2 МГц
Ошибка,
%
2.4576 МГц
Ошибка, %
2400
4800
9600
14400
19200
28800
38400
57600
76800
115200
UBRR=25
UBRR=12
UBRR=6
UBRR=3
UBRR=2
UBRR=1
UBRR=1
UBRR=0
UBRR=0
UBRR=0
0.2
0.2
7.5
7.8
7.8
7.8
22.9
7.8
22.9
84.3
UBRR=47
UBRR=23
UBRR=11
UBRR=7
UBRR=5
UBRR=3
UBRR=2
UBRR=1
UBRR=1
UBRR=0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
33.3
0.0
UBRR=51
UBRR=25
UBRR=12
UBRR=8
UBRR=6
UBRR=3
UBRR=2
UBRR=1
UBRR=1
UBRR=0
0.2
0.2
0.2
3.7
7.5
7.8
7.8
7.8
22.9
7.8
UBRR=63
UBRR=31
UBRR=15
UBRR=10
UBRR=7
UBRR=4
UBRR=3
UBRR=2
UBRR=1
UBRR=0
0.0
0.0
0.0
3.1
0.0
6.3
0.0
12.5
0.0
25.0
R-0 R/W-0 R-1 R-0 R-0 R-0 R-0 R-0
RXC
TXC
UDRE
FE
OR
-
-
-
D7 D0
R – бит для чтения W – бит для записи “-n” – значение после сброса
бит 7: RXC – прием завершен
Устанавливается, когда принятый символ переписывается из сдвигового
регистра приемника в регистр UDR, независимо от обнаружения ошибки кадра. Если
установлен бит RXCIE в регистре UCR, то при установке бита RXC выполняется
прерывание по завершению приема.
Сбрасывается при чтении UDR. При использовании приема данных по
прерыванию, обработчик прерывания должен читать регистр UDR для сброса RXC,
иначе при выходе из прерывания оно будет вызвано снова.
бит 6: TXC – передача завершена
Устанавливается, если символ из сдвигового регистра передатчика (включая
стоповый бит) передан, а в регистр UDR не были записаны новые данные. Этот флаг
особенно полезен при полудуплексной передаче, когда передающее устройство
должно перейти в режим приема и освободить линию связи сразу по окончанию
передачи. Если установлен бит TXIE в регистре UCR, то при установке TXC
выполняется прерывание по окончанию передачи.
Сбрасывается аппаратно при выполнении соответствующего вектора
прерывания. Кроме того, бит можно сбросить, записав в него 1 (не ноль).
бит 5: UDRE – регистр данных UART пуст
Устанавливается, когда данные, записанные в UDR, переписываются в
регистр сдвига передатчика. Установка этого бита означает, что передатчик готов
принять следующий символ для передачи. Если установлен бит UDRIE в регистр UCR,
то при установке этого бита выполняется прерывание по очистке регистра UDR.
Сбрасывается при записи регистра UDR. При использовании передачи,
управляемой прерыванием, подпрограмма обслуживания этого прерывания должна
записывать UDR, чтобы сбросить бит UDRE, иначе при выходе из прерывания оно
будет вызвано снова. При сбросе контроллера бит UDRE устанавливается, чтобы
показать готовность передатчика к началу работы.
бит 4: FE – ошибка кадра
Устанавливается, при обнаружении условия ошибки кадра, т.е. если
стоповый бит принятого символа равен 0.
Сбрасывается при приеме правильного стопового бита (т.е. «1»).
бит 3: OR – переполнение
Устанавливается при обнаружении условия переполнения, т.е. в том случае,
когда байт из регистра UDR не был прочитан до того, как заполнился сдвиговый
регистр приемника. Этот бит буферирован, т.е. остается установленным до тех пор,
пока из регистра UDR не будут прочитаны правильные данные. Бит OR сбрасывается,
когда принятые данные переписываются в UDR из сдвигового регистра.
Страницы
- « первая
- ‹ предыдущая
- …
- 33
- 34
- 35
- 36
- 37
- …
- следующая ›
- последняя »
