quote:以下是引用shine在2012-11-15 09:25:38的发言:
转换为STL就是这样:
AN T 13
L S5T#2S
SD T 13
A T 13
R T 13
NOP 0
NOP 0
NOP 0
300的定时器是异步刷新的,也就是说在程序执行中,只要定时到,随时刷新。
如果在AN T13时为0,到A T13前变成1,那么定时器是由于R而被复位的,而不是因为S端为0而复位,这时,需要S端有一个0-1的跳变才会重新开始计时,而这个跳变需要定时到了才会有,所以陷入死循环了
谢谢,能否这样理解?
AN T 13 (假如此时T13=0)
L S5T#2S
SD T 13 (T13=0,则S端=1)
A T 13 (假如此时计时到了,则T13=1)
R T 13 (复位T13,则T13=0,下个扫描周期T13=0,则SD T13的S端还是为1,2个扫描周期之间接收不到上升沿,所以无法继续?)
NOP 0
NOP 0
NOP 0