在延时函数里,对一次计数结束进行判断时,出现了失误,导致延时时长出现异常。
先说明函数设计想法,主要while结束判断条件设计,要保证计数器在工作和计数到0结束。因此对SysTick->CTRL寄存器有两标志位要进行判断。
计数到0,[16]置1。重点是[16]读取后会清零,因此用一个temp变量进行一次读取,再分别判断标志位。
错误代码:
在延时函数里,对一次计数结束进行判断时,出现了失误,导致延时时长出现异常。
先说明函数设计想法,主要while结束判断条件设计,要保证计数器在工作和计数到0结束。因此对SysTick->CTRL寄存器有两标志位要进行判断。
计数到0,[16]置1。重点是[16]读取后会清零,因此用一个temp变量进行一次读取,再分别判断标志位。
错误代码: