关于stm32cubemx 的HAL_Delay()函数
__weak uint32_t HAL_GetTick(void){
return uwTick;
}
__weak void HAL_IncTick(void)
{
uwTick++;
}
__weak void HAL_Delay(__IO uint32_t Delay)
{
uint32_t tickstart = 0;
tickstart = HAL_GetTick();
while((HAL_GetTick() - tickstart) < Delay)
{
}
}
这里使用这个延时函数有没有这种情况,当HAL_GetTick()的计数正好要溢出时,是不是延时就不准了?
你在调试模式下下计算下1-0xffffffff等于多少后,在回过头来想想这个问题.:lol 任风吹吹 发表于 2016-10-19 16:08
你在调试模式下下计算下1-0xffffffff等于多少后,在回过头来想想这个问题. ...
只是时间稍微长点,如果一直不复位,这个问题还是有的,关键的地方还是最好不要用,碰到致命打击。。。 benlarden 发表于 2016-10-19 16:27
只是时间稍微长点,如果一直不复位,这个问题还是有的,关键的地方还是最好不要用,碰到致命打击。。。 ...
你还是没有按我说的动手测试一下,答案是这个是不会有问题的,我已经告诉你结果了,结合大学里学的计算机原理,你自己去测试弄明白吧。 任风吹吹 发表于 2016-10-19 16:31
你还是没有按我说的动手测试一下,答案是这个是不会有问题的,我已经告诉你结果了,结合大学里学的计算机 ...
明白了,非常感谢!~~:lol :):):):):):):):)
页:
[1]