ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Понедельник
21 сентября
/1034704
Топик полностью
Aleksey_75 (08.09.2020 16:05, просмотров: 187) в ответ на Пилю потихоньку библиотеку драйверов для МК () , являющуюся некой агрегацией моих работ в эмбеддете. Так случилось, что уже написанные библиотеки являются проприетарными, выложить я их не могу, однако ничего плохого в этом не вижу, так как могу забабахать что-нибудь новенькое. Ну и в последствии либа ляжет в основу моего собственного проекта, о котором пока рано говорить. Это ещё далеко не релиз, но некоторые подходы к работе уже можно обсудить. Сама библиотека - автор: evgeniy1294
bsp ? у вас плюсы (( на чистом Си делаю так 

все выводы мк отдефайнены так

#define PINA_0          0x00
#define PINA_1          0x01
...
#define PIND_0          0x30
#define PIND_1          0x31

каждый вывод объявлен так

typedef struct
{
    uint8_t pin:7;
    uint8_t pin_mode:7;
    uint8_t def_lvl:1;
    uint8_t dev_out_system:1;
}gpio_set_t;

#define LED1        (gpio_set_t){PINA_10,   GPIO_Mode_Out_PP,       DEF_LOW_LVL,    NO_DEV_OUT}
#define INT_ACSEL   (gpio_set_t){PINB_1,    GPIO_Mode_IPU,          DEF_HIGH_LVL,   NO_DEV_OUT} 
#define CS_ACSEL    (gpio_set_t){PINB_2,    GPIO_Mode_Out_PP,       DEF_HIGH_LVL,   NO_DEV_OUT} 
#define IN_1        (gpio_set_t){PINB_14,   GPIO_Mode_IPD,          DEF_LOW_LVL,    NO_DEV_OUT}

установка сброс уровней по пину через простые функции

set_pin_active(LED1);
set_pin_inactive(LED1);
get_pin_status(IN_1);

очень удобно, использую в куче проектов

Ответить
Ответы