34 lines
1.0 KiB
C
34 lines
1.0 KiB
C
#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);
|
|
}
|