#include "leds.h" #include "main.h" #include "stm32g4xx_hal.h" #include "stm32g4xx_hal_gpio.h" #include "stm32g4xx_hal_tim.h" void leds_init(TIM_HandleTypeDef* timer) { if (HAL_TIM_PWM_Start(timer, TOP_PWM_TIM_CHANNEL) != HAL_OK) { Error_Handler(); } 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_Delay(10); for (int i = 0; i < 12; i++) { GPIO_PinState state = 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); }