Интерфейс USART имеет аппаратную логику поддержки режима модема, которая обеспечивает управление следующими стандартными модемными сигналами: DTR (готовность терминала (DTE)), DSR (готовность модема (DCE)), RTS (запрос передачи), CTS (готовность к передаче), DCD (обнаружение несущей частоты данных) и RJ (индикация вызова).
При работе в модемном режиме USART ведет себя как устройство DTE ("терминальное оборудование пользователя"), поскольку он управляет состоянием выводов DTR и RTS и может детектировать изменение уровней на выводах DSR, DCD, CTS и RI.
Перевод логики USART в модемный режим производится путём записи в битовое поле USART_MODE регистра режима US_MR значения 0x3. При работе в модемном режиме USART функционирует подобно функционированию в асинхронном режиме с доступностью всех соответствующих параметров.
Соответствие сигналов USART стандартным модемным сигналам. Управление выходами RTS и DTR производится путём записи 1 в биты RTSDIS, RTSEN, DTRDIS и DTREN соответственно регистра команд US_CR. Команда отключения переводит соответствующий вывод в его неактивный (высокий) уровень.
Команды включения переводят соответствующий вывод в его активный (низкий) уровень. Логика модемного режима USART детектирует изменения уровней на выводах RI, DSR, DCD и CTS. При обнаружении такого изменения автоматически устанавливаются соответствующие биты RIIC, DSRIC, DCDIC и CTSIC в регистре US_CSR и может быть сгенерировано прерывание.
Это состояние автоматически сбрасывается при чтении регистра US_CSR. Кроме того, детектирование изменения уровня CTS автоматически отключает передатчик, когда это детектирование происходит в его неактивном состоянии. Если детектирование перепада CTS происходит при передаче символа, то эта передача завершается прежде, чем блокируется передатчик.
