18#ifndef __GPIO_GENERAL_H_
19#define __GPIO_GENERAL_H_
31#define local_time() HAL_GetTick()
35#define LED_PWM_TICKS 15
227#define GPIO_TIM_Alternate_Mapping(INSTANCE) \
228((((INSTANCE) == TIM1) || ((INSTANCE) == TIM2))? GPIO_AF1_TIM1: \
229(((INSTANCE) == TIM3) || ((INSTANCE) == TIM4) || ((INSTANCE) == TIM5))? GPIO_AF2_TIM3: \
230(((INSTANCE) == TIM8) || ((INSTANCE) == TIM9) || ((INSTANCE) == TIM10) || ((INSTANCE) == TIM11))? GPIO_AF3_TIM8: \
231(((INSTANCE) == TIM12) || ((INSTANCE) == TIM13) || ((INSTANCE) == TIM14))? GPIO_AF9_TIM12: \
HAL_StatusTypeDef GPIO_Clock_Enable(GPIO_TypeDef *GPIOx)
Включить тактирование порта GPIO.
HAL_StatusTypeDef GPIO_LED_On(GPIO_LEDTypeDef *led)
Включить светодиод
HAL_StatusTypeDef GPIO_LED_Fading_Start(GPIO_LEDTypeDef *led, uint32_t period)
Активировать моргание светодиодом
GPIO_LEDStateTypeDef
Режимы работы светодиода
HAL_StatusTypeDef GPIO_LED_Off(GPIO_LEDTypeDef *led)
Выключить светодиод
HAL_StatusTypeDef GPIO_LED_Init(GPIO_LEDTypeDef *led, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t LED_On_State)
Инициализировать светодиод (структуру светодиода)
void GPIO_LED_Dynamic_Handle(GPIO_LEDTypeDef *led)
Управление динамическими режимами свечения светодиода
HAL_StatusTypeDef GPIO_LED_Set(GPIO_LEDTypeDef *led, uint8_t led_state)
Выставить светодиод по переменной
HAL_StatusTypeDef GPIO_LED_Blink_Start(GPIO_LEDTypeDef *led, uint32_t period)
Активировать моргание светодиодом
@ LED_IS_BLINKING
Моргание светодиодом
@ LED_IS_OFF
Светодиод выключен
@ LED_IS_FADING
Плавное моргание светодиодом
@ LED_IS_ON
Светодиод включен
int GPIO_Read_Switch(GPIO_SwitchTypeDef *swstart)
Считать состоянии кнопки
HAL_StatusTypeDef GPIO_Switch_Init(GPIO_SwitchTypeDef *sw, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t SW_On_State)
Инициализировать кнопку (структуру кнопки)
Заголочный файл для дефайнов библиотеки MyLibsGeneral.
uint32_t LED_Pin
GPIO пин ножки светодиода
uint32_t LED_Period
Период моргания светодиода
GPIO_TypeDef * LED_Port
GPIO порт ножки светодиода
uint8_t LED_ActiveLvl
Активный уровень ножки (при котором светодиод горит)
GPIO_LEDStateTypeDef state
Текущий режим работы светодиода
uint32_t Sw_PrevState
Предыдущее состояние кнопки
uint32_t Sw_FilterDelay
Фильтр от дребезга (в мс)
uint8_t Sw_ActiveLvl
Активный уровень ножки (при котором кнопка нажата)
uint32_t Sw_Pin
GPIO пин ножки кнопки
GPIO_TypeDef * Sw_Port
GPIO порт ножки кнопки