freeRTOS移植 HAL_Delay()不能用

freeRTOS移植 HAL_Delay()不能用

在freeRTOS移植的过程中是强制将systick作为系统的时钟。

移植成功后 HAL_Delay()不能使用。

解决办法,

1.HAL_Delay()的时钟基 ,用其他的定时器,timx

2.重写HAL_Delay(); (HAL_Delay() 本身就是弱函数)

 void HAL_Delay(uint32_t Delay)
 {
	vTaskDelay(Delay);   // vTaskDelay() 时freeRTOS当中的延时
 }

你可能感兴趣的:(stm32)