15.3 单次定时器和周期定时器
软件定时器分两种:单次定时器和周期定时器,单次定时器的话定时器回调函数就执行一
次,比如定时 1s,当定时时间到了以后就会执行一次回调函数,然后定时器就会停止运行。对
于单次定时器我们可以再次手动重新启动(调用相应的 API 函数即可),但是单次定时器不能自
动重启。相反的,周期定时器一旦启动以后就会在执行完回调函数以后自动的重新启动,这样
回调函数就会周期性的执行。图 15.3.1 描述了单次定时器和周期定时器的不同:
0 100 200 300 400 500 600
时间
Timer 1
Timer 2
两个定时器都
用0时刻启动
Timer1定时周期为100,定时时间
到,调用回调函数。由于Timer1是
单次定时器,所以Timer1的回调函
数后面就不会再执行了。
Timer2定时周期为200,定时
器时间到,调用回调函数。
但是Timer2是周期定时器,
所以回调函数会周期性执行
图 15.3.1 单次定时器和周期定时器
图中 Timer1 为单次定时器,定时器周期为 100,Timer2 为周期定时器,定时器周期为 200。
15.4 复位软件定时器
有时候我们可能会在定时器正在运行的时候需要复位软件定时器,复位软件定时器的话会