steering-wheel-stm/Core/Src/leds.c

30 lines
1013 B
C

#include "leds.h"
#include "main.h"
#include "stm32g4xx_hal.h"
#include "stm32g4xx_hal_gpio.h"
void leds_init() {
HAL_GPIO_WritePin(LED_NOE_GPIO_Port, LED_NOE_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LED_NCLR_GPIO_Port, LED_NCLR_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(LED_OCLK_GPIO_Port, LED_OCLK_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LED_ICLK_GPIO_Port, LED_ICLK_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(TOP_PWM_GPIO_Port, TOP_PWM_Pin, GPIO_PIN_SET);
HAL_Delay(10);
for (int i = 0; i < 12; i++) {
GPIO_PinState state = (i % 2 == 0) ? GPIO_PIN_SET : GPIO_PIN_RESET;
HAL_GPIO_WritePin(LED_SER_GPIO_Port, LED_SER_Pin, state);
HAL_Delay(5);
HAL_GPIO_WritePin(LED_ICLK_GPIO_Port, LED_ICLK_Pin, GPIO_PIN_SET);
HAL_Delay(10);
HAL_GPIO_WritePin(LED_ICLK_GPIO_Port, LED_ICLK_Pin, GPIO_PIN_RESET);
HAL_Delay(10);
}
HAL_GPIO_WritePin(LED_OCLK_GPIO_Port, LED_OCLK_Pin, GPIO_PIN_SET);
HAL_Delay(10);
HAL_GPIO_WritePin(LED_OCLK_GPIO_Port, LED_OCLK_Pin, GPIO_PIN_RESET);
}