Перечисление pl_io_port_num
Перечисление pl_io_port_num содержит список доступных 8-битных портов ввода-вывода общего назначения (GPIO). Используйте эти константы для выбора порта через объект io. (см. свойство io.portnum).
Обратите внимание: линии GPIO относятся к однонаправленному типу и требуют явной настройки на выход или вход.
На этой платформе 8-битные порты виртуальные, причём одни из них «более виртуальные», чем другие. Для совместимости группировка линий ввода-вывода оставлена точно такой же, как на платформе EM1000. Разница в том, что на EM1000 8-битные порты - это настоящие 8-битные регистры, позволяющие чисто читать и записывать данные. На EM2000 аппаратные порты изначально представляют собой 32-битные регистры. Более того, на некоторых портах линии не удалось сгруппировать так, чтобы повторить группировку портов EM1000.
Перечисление pl_io_port_num включает следующие константы:
| 0 - PL_IO_PORT_NUM_0: | 8-битный порт 0 (P0). Содержит линии ввода-вывода 0-7. Это виртуальный порт. При чтении (io.portget, io.portstate(g)) и записи (io.portset, io.portstate(s)) каждая из восьми линий порта обрабатывается по отдельности, начиная с линии 0 и заканчивая линией 7. Поэтому при записи и чтении состояния возникает небольшая «бегущая» задержка. |
| 1 - PL_IO_PORT_NUM_1: | 8-битный порт 1 (P1). Содержит линии ввода-вывода 8-15. Это виртуальный порт. При чтении (io.portget, io.portstate(g)) и записи (io.portset, io.portstate(s)) каждая из восьми линий порта обрабатывается по отдельности, начиная с линии 8 и заканчивая линией 15. Поэтому при записи и чтении состояния возникает небольшая «бегущая» задержка. |
| 2 - PL_IO_PORT_NUM_2: | 8-битный порт 2 (P2). Содержит линии ввода-вывода 16-23. Это виртуальный порт. При записи (io.portset, io.portstate(s)) сначала сбрасываются все линии, новое значение которых равно LOW, а затем устанавливаются линии с новым значением HIGH. Запись, таким образом, выполняется в два шага, что вносит небольшую задержку в переходы линий порта из LOW в HIGH. Чтение порта (io.portget, io.portstate(g)) выполняется чисто, за один шаг. |
| 3 - PL_IO_PORT_NUM_3: | 8-битный порт 3 (P3). Содержит линии ввода-вывода 24-31. Это виртуальный порт. При записи (io.portset, io.portstate(s)) сначала сбрасываются все линии, новое значение которых равно LOW, а затем устанавливаются линии с новым значением HIGH. Запись, таким образом, выполняется в два шага, что вносит небольшую задержку в переходы линий порта из LOW в HIGH. Чтение порта (io.portget, io.portstate(g)) выполняется чисто, за один шаг. |
| 4 - PL_IO_PORT_NUM_4: | 8-битный порт 4 (P4). Содержит линии ввода-вывода 32-39. Это виртуальный порт. При записи (io.portset, io.portstate(s)) сначала сбрасываются все линии, новое значение которых равно LOW, а затем устанавливаются линии с новым значением HIGH. Запись, таким образом, выполняется в два шага, что вносит небольшую задержку в переходы линий порта из LOW в HIGH. Чтение порта (io.portget, io.portstate(g)) выполняется чисто, за один шаг. |