43 lines
950 B
C

//LED 库
#include "sys.h"
#include "led.h"
/**
* @brief LED 初始化,用于 LED2
*/
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_GPIOA_CLK_ENABLE(); //开启 PA 时钟
GPIO_Initure.Pin = GPIO_PIN_1; //PA1
GPIO_Initure.Mode = GPIO_MODE_OUTPUT_PP; //推挽输出
GPIO_Initure.Pull = GPIO_PULLUP; //上拉
GPIO_Initure.Speed = GPIO_SPEED_FREQ_VERY_HIGH; //高速
HAL_GPIO_Init(GPIOA, &GPIO_Initure); //初始化 PA1
LED2_Off;
SysTick_StartTimer(LED2_SYSTICK_TIMER_ID, 50);
}
/**
* @brief LED2 慢速翻转,无阻塞,防止因调用过快导致无法观察
* @param led_num: 序号
*/
void LED_Slow_Toggle(uint8_t led_num)
{
switch (led_num)
{
case 2:
{
if (SysTick_CheckTimer(LED2_SYSTICK_TIMER_ID))
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);
SysTick_StartTimer(LED2_SYSTICK_TIMER_ID, 50);
}
}
}
}