在执行呼吸灯代码时,led灯不能正常点亮,经过串口打印信息发现使用正点原子的delay.c文件中的delay_ms执行无反应,通过查找发现是一些HAL库的模板文件引起的。
int main(void)
{
HAL_Init(); // 初始化HAL库
sys_stm32_clock_init(RCC_PLL_MUL9); // 设置时钟,72MHz
delay_init(72); // 延时初始化
usart_init(115200);
led_init();
while(1)
{
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_SET);
printf("led off\r\n");
delay_ms(500);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_RESET); // 置0
printf("led on\r\n");
delay_ms(500);
}
}
删除掉HAL库文件中的stm32f1xx_hal_timebase_rtc_alarm_template.c等带template的模板文件,再次执行烧录代码led灯可以闪烁。
参考:Link