其实只要一个定时器就可以处理N个定时事件,方法如下:
1、设置N个寄存器R_N(或存储器,寄存器耗时少),和N个标记位B_N。
2、每次中断后对R_N-1,减至0时,将R_N复位成初始值(你定),并将标记位置B_N=1。
3、主程序中,查寻B_N,当B_N=1时,将其清0,并执行你要处理的事件。
记住:定时器中断服务程序,就是只做这些寄存器计数,标记位置1的事,所以处理不需要多少时间。而要做的事件,都放在主程序中去做,不要在中断服务程序中做!!!,中断服务程序,只做标记!!!记住这些,你离高手就不远了。当然也有不得矣的例外。
|