27 HAL_StatusTypeDef status = HAL_OK;
30 __HAL_RCC_GPIOA_CLK_ENABLE();
31 else if (GPIOx==GPIOB)
32 __HAL_RCC_GPIOB_CLK_ENABLE();
34 else if (GPIOx==GPIOC)
35 __HAL_RCC_GPIOC_CLK_ENABLE();
38 else if (GPIOx==GPIOD)
39 __HAL_RCC_GPIOD_CLK_ENABLE();
42 else if (GPIOx==GPIOE)
43 __HAL_RCC_GPIOE_CLK_ENABLE();
46 else if (GPIOx==GPIOF)
47 __HAL_RCC_GPIOF_CLK_ENABLE();
50 else if (GPIOx==GPIOF)
51 __HAL_RCC_GPIOH_CLK_ENABLE();
194 if((tickcurrent - led->tickprev) > led->
LED_Period)
199 led->tickprev = tickcurrent;
205 static unsigned direction = 0;
230 led->tickprev = tickcurrent;
290 if(sw->tickprev == 0)
Заголовочный файл для модуля инициализации портов и работы с ними.
#define check_null_ptr_1(p1)
Проверить один указатель на NULL.
#define check_null_ptr_3(p1, p2, p3)
Проверить три указателя на NULL.
#define LED_PWM_TICKS
Количество тиков в периоде ШИМ
#define local_time()
Локальное время
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)
Активировать моргание светодиодом
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_ActiveLevel)
Инициализировать светодиод (структуру светодиода)
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 *sw)
Считать состоянии кнопки
HAL_StatusTypeDef GPIO_Switch_Init(GPIO_SwitchTypeDef *sw, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t SW_ActiveLevel)
Инициализировать кнопку (структуру кнопки)
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 порт ножки кнопки