Интерфейс портов ввода/вывода


Подробное описание

Конфигурация отдельного порта описывается в структуре GATE_PORT.

Доступ к портам МК осуществляется через адресное пространство ОЗУ, что позволяет изменять конфигурацию портов без изменения функций, осуществляющих собственно доступ к портам.

Каждый используемый порт должен быть зарегистрирован вызовом функции gate_port_register().


Структуры данных

struct  GATE_PORT
 Конфигурация порта ввода/вывода. Подробнее...

Функции

GATE_RESULT gate_port_register (uint8_t number, GATE_PORT *spec)
 Регистрация порта.
GATE_RESULT gate_port_config (uint8_t number, uint8_t mask, uint8_t value)
 Настройка режима ввода/вывода порта.
GATE_RESULT gate_port_write (uint8_t number, uint8_t mask, uint8_t value)
 Запись в порт.
GATE_RESULT gate_port_read (uint8_t number, uint8_t *bits)
 Чтение из порта.
GATE_RESULT gate_port_reserve (uint8_t number, uint8_t mask, uint8_t value)
 Переключение отдельных битов порта на выполнение специальных функций.


Функции

GATE_RESULT gate_port_config ( uint8_t  number,
uint8_t  mask,
uint8_t  value 
)

Настройка режима ввода/вывода порта.

Заметки:
Режим разрядов порта, зарезервированных для использования драйвером устройства, не меняется.
Аргументы:
number Идентификатор порта
mask Маска, определяющая, режим каких выводов порта изменить.
value Биты режима. Единица - вывод работает как выход, 0 - как вход.

Перекрестные ссылки GATE_PORT::busy_mask, GATE_PORT::DDR, GATE_PORT::default_busy_mask, GR_INVALID_PORT и GR_OK.

GATE_RESULT gate_port_read ( uint8_t  number,
uint8_t *  bits 
)

Чтение из порта.

Аргументы:
number Идентификатор порта
bits Указатель на переменную, в которую помещается считанное значение.

Перекрестные ссылки GR_INVALID_PORT, GR_OK и GATE_PORT::PIN.

GATE_RESULT gate_port_register ( uint8_t  number,
GATE_PORT spec 
)

Регистрация порта.

Связывает номер порта с конкретными регистрами ввода/вывода.

Аргументы:
number Идентификатор порта
spec Указатель на конфигурацию порта

Перекрестные ссылки GATE_PORT::busy_mask, GATE_PORT::default_busy_mask, GR_DUPLICATE_PORT, GR_INVALID_ARG, GR_OK, GATE_PORT::next и GATE_PORT::number.

GATE_RESULT gate_port_reserve ( uint8_t  number,
uint8_t  mask,
uint8_t  value 
)

Переключение отдельных битов порта на выполнение специальных функций.

Эта функция вызывается драйверами устройств для резервирования определенных разрядов порта под собственные нужды. На зарезервированные разряды порта не влияют вызовы gate_port_config() и gate_port_write().

Аргументы:
number Идентификатор порта
mask Маска, определяющая, режим каких выводов порта изменить.
value Биты режима. Единица - вывод используется драйвером устройства, 0 - вывод работает как цифровая линия ввода/вывода.

Перекрестные ссылки GATE_PORT::busy_mask, GATE_PORT::default_busy_mask, GR_INVALID_PORT и GR_OK.

GATE_RESULT gate_port_write ( uint8_t  number,
uint8_t  mask,
uint8_t  value 
)

Запись в порт.

Заметки:
Состояние разрядов порта, зарезервированных для использования драйвером устройства, не меняется.
Аргументы:
number Идентификатор порта
mask Маска, определяющая, состояние каких выводов порта изменить.
value Значение выводимое в порт.

Перекрестные ссылки GATE_PORT::busy_mask, GATE_PORT::default_busy_mask, GR_INVALID_PORT, GR_OK и GATE_PORT::PORT.


Документация по Интерфейсы программирования шлюз-контроллера. Последние изменения: Fri May 1 19:20:21 2009. Создано системой  doxygen 1.5.6