FreeRtos延时函数delay_us()

FreeRtos延时函数delay_us()_第1张图片

时钟72MHZ,递减一次需要10^6/72MHZ 微秒,注意!!!是微秒,

若要延迟1微秒,时钟就需要递减72MHZ/10^6次,又因为fac_us为72MHZ/10^6,所以延时n us

即令ticks=n us*fac_us

 函数内部tcnt 的值是累加的 ,每运行一次函数,tcnt就会加一次定时器计次个数(told-tnow)

tnow>told 是因为,定时器减到零,又从reload开始减。

这个函数就是记录,运行while内部运行一次所需的时间,然后相加,知道大于等于我们设定的时间

你可能感兴趣的:(Freertos,c语言,stm32,嵌入式实时数据库)