Контроллер РЮ обеспечивает объединение до двух периферийных функций на одном выводе МК. Выбор каждой из этих функций производится путём записи в регистры PIO_ASR (регистр выбора А) и PIOJBSR (регистр выбора В).
Содержимое регистра PIO_ABSR (регистр состояния выбора АВ) указывает, какая периферийная линия (функция) в настоящее время выбрана. Для каждого вывода МК нулевое значение соответствующего бита регистра PIO_ABSR указывает на выбранную периферию А, а единичное значение - на периферию В.
Необходимо отметить, что выбор периферии А или В затрагивает только линию выхода. Входы периферийных устройств А и В всегда остаются подключёнными к ножке МК. По умолчанию после сброса чтение регистра PIO_ABSR возвращает нулевое значение, т. е. все линии РЮ мультиплексированы на периферийное устройство А. Однако периферийное устройство А не управляет выводами при их переходе в режим линий ввода/вывода общего назначения.
Запись в регистры PIO_ASR и PIO_BSR управляет содержимым регистра PIO_ABSR вне зависимости от конфигурации соответствующих выводов МК. Однако задание для вывода периферийной функции в дополнение к записи в регистр PIO_PDR требует записи в периферийный регистр выбора (PIO_ASR или PIO_BSR).
Управление выходом
Когда для линии ввода/вывода назначена периферийная функция, т. е. соответствующий бит в регистре PIO_PSR сброшен, то управление данной линией ввода/вывода осуществляет периферийное устройство. В зависимости от значения соответствующего бита в регистре PIO_ABSR это может быть периферийное устройство А или В.
Когда линией ввода/вывода управляет контроллер РЮ, линия может быть сконфигурирована для возможности управления. Это может быть сделано путём записи в регистры PIO_OER (регистр разрешения выхода) и PIO_ODR (регистр отключения выхода). Результаты операций записи в эти регистры могут быть программно обнаружены путём чтения регистра PIO_OSR (регистр состояния выхода).
