Micro'n Power 中写道:
10ms:10ms分辨率的定时器,定时器位和当前值在每个程序扫描周期的开始刷新。定时器位和当前值在整个扫描周期过程中为常数。在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器的当前值上。
100ms:100ms分辨率的定时器,定时器位和当前值在指令执行时刷新。因此为了保证正确的定时值,要确保在一个程序扫描周期中,只执行一次100ms定时器指令。
我有以下2个问题:
(1) 10ms的定时器的值是不是仅在扫描周期开始时(因为是常数,周期内不可变)加上一个扫描周期的时间?然后执行到定时器的指令盒时根据计时器的当前常量值判断下一步的动作?
(2) 100ms定时器的位和当前值在指令执行时刷新,通常一个扫描周期会小于100ms,比如5ms,难道5ms就刷新一次计时器?或者和10ms计时器一样,加上5ms,只是触发动作的时间是累积到100ms时?