ORFA Port driver

Материал из roboforum.ru Wiki
Версия от 17:37, 23 июня 2009; =DeaD= (обсуждение | вклад) (ДАЛЬШЕ ПОКА НЕ ЧИТАТЬ - ЕЩЕ ПИШЕМ! Пока тут копипаст с предыдущего драйвера! ;))
Перейти к: навигация, поиск


Драйвер портов

Драйвер позволяющий управлять состоянием портов контроллера в режимах цифровой логический вход или цифровой логический выход.

Количество управляемых портов N: N=4 для драйвера с UID=0x20, N=2 для драйвера с UID=0x21.

Количество регистров, используемых драйвером = N*2. Далее будем считать, что {rr} - начальный регистр драйвера, {rr+n} - (n+1)-й регистр.

Первые N регистров, это чтение\запись значения, оставшиеся N регистров - чтение\запись режима порта. Каждой из 8 линий порта соответствует 1 бит. То есть если у контроллера 2 порта PORTA, PORTF, тогда для задания 2-му и 3-му линиям порта PORTF режима работы "цифровой вход", а остальным битам этого порта режим "цифровой выход" нужно в последний регистр драйвера {rr+3} отправить 0xF3 (т.е. 11110011 в двоичном представлении - 2-й и 3-й биты выставлены в 0). При работе в режиме входа запись в значение порта включает или выключает подтягивающие резисторы контроллера на соответствующих линиях.

Примеры

Установить порт A0 контроллера OR-AVR-M32-D в логический выход и выставить на нём значение 1

Запрос:

L40
S40 06 01 S40 02 01 P

Ответ:

L40
SWAASWAAP

Разбор:

  • Первый запрос - L40 - установить адрес локального устройства в 0x40. Ответ - L40 - адрес установлен. (Можно не делать, если вы уже установили адрес локального устройства ранее).
  • Второй запрос - S40 06 01 - отправим в устройство 0x40 номер регистра 06 (это регистр контроля режима работы порта PORTA) и маску порта 01 - установить как цифровой логический выход 0-ю линию порта PORTA, S40 02 01 - отправим в устройство 0x40 номер регистра 02 (это регистр значения линий порта PORTA) и маску порта 01 - установить как на линии 0 значение 1, P - конец запроса. Ответ: SW - начали запись в устройство, AA - подтверждения записи 2 байт в устройство, SW - начали запись в устройство, AA - подтверждения записи 2 байт в устройство, P - конец ответа.

Установить порт A0 контроллера OR-AVR-M32-D в логический вход и прочитать его значение

Запрос:

L40
S40 11 02 B004 P

Ответ:

L40
SWAAAP

Разбор:

  • Первый запрос - L40 - установить адрес локального устройства в 0x40. Ответ - L40 - адрес установлен. (Можно не делать, если вы уже установили адрес локального устройства ранее).
  • Второй запрос - S40 00 02 B0 04 P - отправим в устройство 0x40 номер регистра 10 - установить положение сервоприводов и номер + положение сервопривода 02 B004 (сервопривод 0x02, положение 0x04B0 = 1200мс), P - конец запроса. Ответ: SW - начали запись в устройство, AAA - подтверждения записи 3 байт в устройство, P - конец ответа.