关于SysTick问题。
网友用系统滴答定时器写的ms级或者us级的延时程序在while循环的判断条件中,似乎都使用了这个 (temp&0x01)&&(!(temp&(1VAL = 0x00; // 当前值清零
SysTick->CTRL = 0x001; // 使能SysTick,选择HCLK 8 分频,即72/8=9MHZ
do
{
temp = SysTick->CTRL; // 读取CLRT寄存器的值,其16位为计数完成标志位COUNTFLAG,读取完毕自动清零
}
while((temp&0x01)&&(!(temp&(1VAL = 0x00; // 当前值清零
}
我觉得只使用!(temp&(1
RE:关于SysTick问题。
temp&0x01用来判断systick是否还处于开启状态,防止systick被意外关闭导致死循环回复:关于SysTick问题。
回复第 2 楼 于2014-09-02 07:32:15发表:temp&0x01用来判断systick是否还处于开启状态,防止systick被意外关闭导致死循环
哦,哦,哦,了解了,非常感谢........:D
页:
[1]