#ifndef __BUTTON_H #define __BUTTON_H #include "stm32f0xx_hal.h" #include #define UPDATE_BUT_DELLAY (20) // Статус кнопки typedef enum { BUT_ON = 0, BUT_OFF, BUT_NO_DEFINE, } BUTTON_STATE_t; // typedef struct { GPIO_TypeDef* GPIOx; // Порт uint16_t GPIO_Pin; // Пин uint16_t timeDelay; // Время задержки антидребезга (время измеряется // во временных интервалах с которыми вызывается // обработчик кнопки uint16_t counterDelay; // Счетчик антидребезга BUTTON_STATE_t stateOld; // Прошлое состояние кнопки BUTTON_STATE_t stateNew; // Текущее состояние кнопки void (*pressHandler)(); // Обработчик нажатия кнопки void (*unpressHandler)(); // Обработчик отпускания кнопки uint8_t ID; // уникальный идентификатор (можно не использовать) uint32_t counterActivation; uint16_t timeActivation; bool fActivation; } but_no_fix_t; // void but_init(void); // void button_run(void); // void bu_no_fix_handler(but_no_fix_t* button); // BUTTON_STATE_t but_get_state(but_no_fix_t *button); // bool but_is_string(void); extern bool start_pressed; #endif // __BUTTON_H