1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #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);
- }
|