I01CLR - 0хЕ002801С, I02CLR - 0хЕ002802С, I03CLR - 0хЕ002803С)
Битовая структура регистров IOCLR приведена в Табл. 9.7.
Этот регистр используется, чтобы сбросить выводы порта, если они сконфигурированы как линии GPIO и для них задан режим выходов. Запись в тот или иной бит регистра IOCLR логической 1 вызывает сброс соответствующего выхода порта и сбрасывает соответствующий бит в регистре IOSET. Запись 0 не будет иметь никакого эффекта. Если какой-то вывод сконфигурирован как вход или для него выбрана альтернативная функция, то изменение состояния соответствующего ему бита в регистре IOCLR не будет иметь эффекта.
Таблица 9.7. Биты регистра сброса выходов порта GPIO (IOOCLR — 0хЕ002800С,
IOICLR - 0хЕ002801С, I02CLR - 0хЕ002802С, I03CLR - 0хЕ002803С)
Номер бита |
Функция бита |
Значение после сброса |
31:0 |
Биты сброса выходов. Бит 0 регистра IOOCLR соответствует выводу Р0.0, бит 1 — выводу РОЛ,бит 31 — выводу Р0.31 |
0 |
Регистр направления порта GPIO (IO0DIR — ОхЕ0028008,101DIR — 0хЕ0028018, I02DIR - 0хЕ0028028,103DIR - 0хЕ0028038)
Битовая структура регистров IODIR приведена в Табл. 9.8.
Этот регистр используется, чтобы управлять направлением выводов, когда они сконфигурированы как линии GPIO. Значение бита направления для того или иного вывода задает направление передачи данных через этот вывод.
Таблица 9.8. Регистр направления порта GPIO (IO0DIR — 0хЕ0028008,
IOIDIR - 0хЕ0028018,102DIR - 0хЕ0028028,103DIR - 0хЕ0028038)
Номер бита |
Функция бита |
Значение после сброса |
31:0 |
Служебные биты направления (0 = вход, 1 = выход). Бит 0 регистра IO0DIR управляет выводом Р0.0, бит 1 — выводом Р0.1,бит 31 — выводом РО.З 1 |
0 |
9.2. Рекомендации по использованию GPIO
Если для некоторого вывода соответствующий бит установлен как в регистре установки выходов порта GPIO (IOnSET), так и в регистре сброса выходов порта GPIO (IOnCLR), то логический уровень на этом выводе будет определяться последней по времени записью в регистры IOnSET и IOnCLR. Это означает, что в случае выполнения последовательности команд:
IO0SET = 0x00000080 IOOCLR = 0x00000080
на выходе Р0.7 после записи в регистр IO0SET появится ВЫСОКИЙ уровень, а после записи в регистр IOOCLR — НИЗКИЙ уровень.
Приложения, которые требуют одновременного сброса всех линий параллельного порта, могут использовать прямой доступ к соответствующему регистру значений выводов порта GPIO (IOPIN). В предположении, что выводы Р0.8 и РОЛ 5 сконфигурированы как выходы, запись в регистр IO0PIN:
IO0PIN = 0х0000С700
произведет тот же самый эффект, что и последовательность команд:
IO0SET = 0х0000С700 IOOCLR = 0x00003800
Как можно видеть, вариант с записью в регистры IO0SET и IOOCLR будет выполняться дольше, по сравнению с единственной командой записи в регистр IO0PIN.
ГЛАВА 10
УНИВЕРСАЛЬНЫЙ АСИНХРОННЫЙ ПРИЕМОПЕРЕДАТЧИК UART0
Универсальный асинхронный приемопередатчик микроконтроллеров семейства LPC2000 UARTO имеет следующие характеристики:
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |