最近无意中看到一个程序,是关于定时器中断的。那个程序是这样的它先初始化定时器,之后就直接打开定时器了。然后再进行别的设备的初始化及配置。
比方说 init timer0();
config timer0();
start timer0();
.......
.......此处是初始化其他外设并且赋值一些参数什么的。
因为我对单片机的了解也比较浅薄,我也不敢肯定这个程序是不是ok的。但是先配置定时器中断并且将其打开,那个定时器就已经开始counting了。这个毫无疑问的吧,但这个时候在main里面还需要继续配置别的外设等等,如果定时器的计数值很小,也就是从打开到进入定时器中断的速度很快。那可能下面配置其他外设的语句还没全部执行完,定时中断就到来了。对吧!尤其是定时器的计数值很小的时候,频繁进入中断,那上述timer0之后的那些配置语句就会频繁被打断。。。。
个人认为开定时器中断应该放在最后,全部配置完别的设备再将其打开。请各位批评指正
|