ері, може виявляти і сигналізувати про наступні позаштатних ситуаціях: переповнення, помилка кадрування і невірний старт-біт. Для зменшення ймовірності збоїв в модулі реалізована така корисна функція, як фільтрація перешкод.
Для взаємодії з програмою в модулі передбачено 3 роздільних переривання, запит на які генерується при настанні таких подій: В«передача завершенаВ», В«регістр даних передавача порожнійВ» і В«прийом завершеноВ». Висновки мікроконтролера, використовувані модулем UART, є лініями порту D. В якості входу приймача (RXD) використовується висновок PD0, а в якості виходу передавача (TXD) - виведення PD1.Управленіе роботою приймача-здійснюється за допомогою регістра керування UCR, розташованого за адресою $ 0А ($ 2А) (таблиця 3).
В
Таблиця 3 - Формат регістра UCR
Номери бітов76543210Обозначенія битовRXCIETXCIEUDRIERXENTXENCHR9RXB8ТХВ8Чтение (R)/Запис (W) R/WR/WR/WR/WR/WR/WRR/WНачальное значення 00000010
Поточний стан приймача-визначається за допомогою регістра стану USR, розташованого за адресою $ 0А ($ 2А). Формат регістра UCR наведено в таблиці 3, а регістра USR - у таблиці 4. Невикористані розряди регістрів доступні тільки для читання.
приймаються і передані дані (молодші 8 розрядів) зберігаються в регістрі даних UDR, який розташований за адресою $ 0С ($ 2С). Фізично регістр UDR складається з двох окремих регістрів, один з яких використовується для передачі даних, інший - для прийому. ul>В
Таблиця 4 - Формат регістра USR
Номери бітов76543210Обозначенія бітовRXCТХСUDREFEOR --- Читання (R)/Запис (W) RR/WRRRRRRНачальное значення 00100000
При читанні регістра UDR виконується звернення до регістру приймача, при записі - до регістру передавача. Структурна схема передавача модуля UART наведена на малюнку 10. <В В
Рисунок 10 - Структурна схема приймально-передавача UART
В
Робота передавача дозволяється установкою в В«1В» розряду TXEN регістра UCR (UCSRB). Якщо цей розряд скинутий (передавач вимкнений), висновок PD1 (TXD) може використовуватися як контакт введення/виведення загального призначення. При установці розряду TXEN цей висновок підключається до передавача UART і починає функціонувати як вихід незалежно від стану розряду DDD1 регістра DDRD.
Передача ініціюється записом переданих даних в регістр даних UART - UDR. Після цього дані пересилаються з регістра UDR в зсувний регістр передавача. При цьому можливі два варіанти:
нове значення записується в регістр UDR після того, як був переданий стоп-біт попереднього слова. У цьому випадку дані пересилаються в зсувний регістр відразу ж після запису в...