Раздел:
Документация0 ...
156 157 158 159 160 161 162 ...
195 7 6 5 4 3 2 1 0
- | UMSELn | UPMnl | UPMnO | USBSn | UCSZnl | UCSZnO | UCPOLn |
ATmega64x ATmega 128x
Чтение )/Запись(\Л/) R R/W R/W R/W R/W R/W R/W R/W Начальное значение 0 0 0 0 0 1 1 0
URSELn | UMSELn | UPMnl | UPMnO | USBSn | UCSZnl | UCSZnO | UCPOLn |
4TeHne(R)/3anncb(W) R/W Начальное значение 0
R/W 0
R/W 0
R/W 0
R/W 0
R/W 1
R/W
ATmega8515x/8535x ATmega8x/16x/32x ATmega 162x ATmega 165x/325x/32! ATmega645x/6450x
UMSELn 1 | UMSELnO | UPMnl | UPMnO | USBSn | UCSZn! | UCSZnO | UCPOLn |
Чтение(Н)/Запись(\Л/) R/W Начальное значение 0
R/W 0
R/W 0
R/W 0
R/W 0
R/W 1
ATmega48x/88x/168x ATmega 164x/324x/644x ATmega640x/1280x/1281x
R/W R/W ATmega2560x/2561x 1 0
Л/с. 13.4. Формат регистров UCSRC (UCSRaiC)
Таблица 13.7. Биты регистров UCSRC (UCSR/iC)
Бит | Название | Описание |
| UMSELwl | Режим работы USART (модели 48x/88x/168x, 164x/324x/644x и 640x/1280x/1281x/2560x/2561x). Совместно с битом UMSEbiO определяет режим работы модуля USART |
7 | URSEL0 (URSELrt) | Выбор регистра. Этот бит определяет, в какой из регистров модуля производится запись. Если бит установлен в 1, обращение производится к регистру UCSRC (UCSR/jC). Если же бит сброшен в 0, обращение производится к регистру UBRRH (UBRR/iH). Подробнее — см. следующий подраздел |
6 | UMSEL (UMSELn) | Режим работы USART. Если бит сброшен в 0, то модуль работает в асинхронном режиме. Если бит установлен в 1, то модуль работает в синхронном режиме |
UMSELNO | Режим работы USART (модели 48х/88х/168х, 164х/324х/644х и 640х/1280х/1281 х/2560х/2561х). Совместно с битом UMSEbil определяет режим работы модуля USART |
5 | UPM1 (UPM/il) | Режим работы схемы контроля и формирования бита четности. Эти биты определяют функционирование схем контроля и формирования бита четности (см. подраздел 13.2.2) |
4 | UPM0 (UPM/iO) |
3 | USBS (USBSai) | Количество стоп-битов. Этот бит определяет количество стоп-битов, посылаемых передатчиком. Если бит сброшен в 0, передатчик посылает 1 стоп-бит, если установлен в 1, то 2 стоп-бита. Для приемника содержимое этого бита безразлично |
2 | UCSZ1 (UCSZfll) | Формат посылок. Совместно с битом UCSZ2 (UCSZw2) регистра UCSRB (UCSR/jB) эти биты определяют количество битов данных в посылках (размер слова) |
1 | ucszo (UCSZNO) |
(продолжение)
Бит | Название | Описание |
0 | UCPOL (UCPObi) | Полярность тактового сигнала. Значение этого бита определяет момент выдачи и считывания данных на выводах модуля. Бит используется только при работе в синхронном режиме. При работе в асинхронном режиме он должен быть сброшен в 0. |
UCPOL (UCPOLw) | Выдача данных на вывод TXD (ТХОл) | Считывание данных с вывода RXD(RXDw) |
0 | Спадающий фронт ХСК (ХСКя) | Нарастающий фронт ХСК (ХСКл) |
1 | Нарастающий фронт ХСК (ХСКл) | Спадающий фронт ХСК (ХСКл) |
0 Зарезервирован в моделях ATmega64x/128x. |
Примечание, п = 0,1,2 или 3.
Обратите внимание на то, что в моделях ATmega48x/88x/168x, ATmega 164х/324х/644х и ATmega640x/1280x/1281x/2560x/2561x для задания режима работы используется не один бит регистра UCSRaC, а два — UMSEL«1:0. Зависимость режима работы модуля USART от установок этих битов приведена в Табл. 13.8.
Таблица 13.8. Управление режимом работы модулей USART моделей ATrnega48x/88x/168x, ATYnega 164х/324х/644х HAThiega640x/1280x/1281x/2560x/2561x
UMSELwl | UMSELwO | Режим работы |
0 | 0 | Асинхронный USART |
0 | 1 | Синхронный USART |
1 | 0 | Зарезервировано |
1 | 1 | Ведущий шины SPI |
13.2.1. Скорость приема/передачи
В асинхронном режиме, а также в синхронном режиме при работе в качестве ведущего скорость приема и передачи данных задается контроллером скорости передачи, работающим как делитель системного тактового сигнала с программируемым коэффициентом деления. Коэффициент определяется содержимым регистра контроллера UBRR (UBRR/*). В блок приемника сформированный сигнал поступает напрямую, а в блок передатчика — через дополнительный делитель, коэффициент деления которого (2, 8 или 16) зависит от режима работы модуля USART.
Регистр UBRR является 12-битным и физически размещается в двух регистрах ввода/вывода. Адреса и названия этих регистров для различных моделей микроконтроллеров приведены в Табл. 13.9.
Таблица 13.9. Размещение регистров контроллера скорости передачи
Модель | Регистры | Адрес |
ATmegaSSlSxSx0 | UBRRH:UBRRL | $20 ($40):$09 ($29) |
ATmega8x/16x/32x !) | UBRRH:UBRRL | $20 ($40):$09 ($29) |
ATmega64x/128x | UBRR0H:UBRR0L | ($90):$09 ($29) |
UBRR1H:UBRR1L | ($98):($99) |
ATmega48x/88x/168x | UBRR0H:UBRR0L | ($C5):($C4) |
ATmega 162х !) | UBRR0H:UBRR0L | $20 ($40):$09 ($29) |
UBRR1H:UBRR1L | $3C($5C):$00 ($20) |
ATmega 164х/3 24х/644х | UBRR0H:UBRR0L | ($C5):($C4) |
UBRR1H:UBRR1L | ($CD):($CC) |
ATmegal65x/325x/3250x/645x/6450x | UBRR0H:UBRR0L | ($C5):($C4) |
ATmega640x/1280x/2560x | UBRR0H:UBRR0L | ($C5):($C4) |
UBRR1H:UBRR1L | ($CD):($CC) |
UBRR2H:UBRR2L | ($D5):($D4) |
UBRR3H:UBRR3L | ($135):($134) |
ATmegal281x/2561x | UBRR0H:UBRR0L | ($C5):($C4) |
UBRR1H:UBRR1L | ($CD):($CC) |
!) В этих моделях регистр UBRRH (UBRR/jH) размещается по тому же адресу, что и регистр UCSRC (UCSR/iC). |
Обратите внимание на то, что в моделях ATmega8515x/8535x, ATmega8x/16x/32x и ATmega 162х регистр UBRRH размещается по тому же адресу, что и регистр управления UCSRC. Поэтому при обращении по этим адресам необходимо выполнить ряд дополнительных действий для выбора конкретного регистра.
При записи регистр определяется состоянием старшего бита записываемого значения URSEL. Если этот бит сброшен в 0, изменяется содержимое регистра UBRRH. Если же старший бит значения установлен в 1, изменяется содержимое регистра управления UCSRC. Приведенные ниже фрагменты программ иллюстрируют сказанное:
0 ...
156 157 158 159 160 161 162 ...
195