roboforum.ruТехнический форум по робототехнике. |
|
|
typedef struct GATE_PORT_ {
uint8_t number;/**< Уникальный номер, однозначно идентифицирующий порт */
uint8_t* PORT; /**< Адрес регистра PORTx в адресном пространстве ОЗУ */
uint8_t* PIN; /**< Адрес регистра PINx в адресном пространстве ОЗУ */
uint8_t* DDR; /**< Адрес регистра DDRx в адресном пространстве ОЗУ */
uint8_t default_busy_mask; /**< Маска, определяющая биты порта, которые не могут использоваться (например используются для внутренних целей контроллера) */
uint8_t busy_mask; /**< Маска, определяющая биты порта, которые используются драйверами устройств */
struct GATE_PORT_* next;
} GATE_PORT;
blindman писал(а):Я говорю об инфраструктуре ORFA.
Попробуйте описать в такой структуре конфигурацию порта на LPC2103
Vooon писал(а):Да я понял о чем ты, там разве нельзя к регистрам обратиться через указатель? (uint32_t* reg)
vovan@vovan-laptop:~/src/orfa/drivers$ tree
.
|-- OR-AVR-M168-DX
| |-- motor_driver.c -> ../OR-AVR-M32-D/motor_driver.c
| |-- motor_driver.h -> ../OR-AVR-M32-D/motor_driver.h
| |-- ports_driver.c -> ../OR-AVR-M32-D/ports_driver.c
| |-- ports_driver.h -> ../OR-AVR-M32-D/ports_driver.h
| |-- spi_driver.c -> ../OR-AVR-M32-D/spi_driver.c
| `-- spi_driver.h -> ../OR-AVR-M32-D/spi_driver.h
|-- OR-AVR-M32-D
| |-- motor_driver.c
| |-- motor_driver.h
| |-- ports_driver.c
| |-- ports_driver.h
| |-- spi_driver.c
| `-- spi_driver.h
`-- OR-AVR-M64-S
|-- motor_driver.c -> ../OR-AVR-M32-D/motor_driver.c
|-- motor_driver.h -> ../OR-AVR-M32-D/motor_driver.h
|-- ports_driver.c -> ../OR-AVR-M32-D/ports_driver.c
|-- ports_driver.h -> ../OR-AVR-M32-D/ports_driver.h
|-- spi_driver.c -> ../OR-AVR-M32-D/spi_driver.c
`-- spi_driver.h -> ../OR-AVR-M32-D/spi_driver.h
3 directories, 18 files
Vooon писал(а):Деад, я не согласен, что UID определяет только протокол драйвера
и для всех драйверов портов/моторов/т.д. он должен быть один, а определять по версии.
Vooon писал(а):Например драйвер порта на M32 и M168 имеют разные параметры (кол-во портов)
почему они должны иметь один UID? Да протокол доступа один и тот-же, но портов то меньше!
Почему должна отличаться версия?
Vooon писал(а):С другой стороны мне не понятно, зачем вообще нужна версия драйвера?
Добавил в драйвер порта по-битный доступ, поменял версию, а чем это отличается от смены UIDа?
Да ни чем, имхо даже удобней было-бы: есть одна таблица идов со всеми параметрами драйвера,
а неизвестные параметры мы точно знаем как запросить.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3