#include "stm32f0xx_hal.h" #include "led.h" // void led_init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOF_CLK_ENABLE(); // GPIO_PIN_0 - контроль напряжения АКБ // GPIO_PIN_1 - сигнализация нажатия курка GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); // GPIO_PIN_5 - инфракрасный LED GPIO_InitStruct.Pin = GPIO_PIN_5; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_0 | GPIO_PIN_1, GPIO_PIN_SET); } // void led_togle(void) { HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_1); } // Индикация нажатия курка void led_signal_on(void) { HAL_GPIO_WritePin(GPIOF, GPIO_PIN_1, GPIO_PIN_RESET); } // Индикация нажатия курка void led_signal_off(void) { HAL_GPIO_WritePin(GPIOF, GPIO_PIN_1, GPIO_PIN_SET); } // Инфракрасный диод void led_inf_on(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); } // Инфракрасный диод void led_inf_off(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); } // Индикация напряжения АКБ void led_but_on(void) { HAL_GPIO_WritePin(GPIOF, GPIO_PIN_0, GPIO_PIN_RESET); } // Индикация напряжения АКБ void led_but_toggle(void) { HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_0); }