打印
[STM32F1]

定时器使用的个人看法,麻烦各位来批评指点

[复制链接]
924|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
970253146|  楼主 | 2015-12-4 15:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近无意中看到一个程序,是关于定时器中断的。那个程序是这样的它先初始化定时器,之后就直接打开定时器了。然后再进行别的设备的初始化及配置。
​比方说 init timer0();
           config timer0();
           start timer0();
           .......
           .......此处是初始化其他外设并且赋值一些参数什么的。
​因为我对单片机的了解也比较浅薄,我也不敢肯定这个程序是不是ok的。但是先配置定时器中断并且将其打开,那个定时器就已经开始counting了。这个毫无疑问的吧,但这个时候在main里面还需要继续配置别的外设等等,如果定时器的计数值很小,也就是从打开到进入定时器中断的速度很快。那可能下面配置其他外设的语句还没全部执行完,定时中断就到来了。对吧!尤其是定时器的计数值很小的时候,频繁进入中断,那上述timer0之后的那些配置语句就会频繁被打断。。。。
​个人认为开定时器中断应该放在最后,全部配置完别的设备再将其打开。请各位批评指正
沙发
07611128| | 2015-12-4 15:51 | 只看该作者
     一般定时器不会有很快的中断吧,很快的中断(比如一秒6w次)肯定会影响到程序运行,另外,在发生中断时候会有入栈出栈的过程,不影响后续程序执行。除非外部时序要求很严格,一般来说都没什么问题的。
     从操作系统来说,中断就是整个os运行的一个节拍,是需要先执行的,才有其他的任务进程创建。
Ps:我每次都吧中断放在最后初始化。。。
@21小跑堂,为什么每次都有俩验证。。。好不爽

使用特权

评论回复
板凳
970253146|  楼主 | 2015-12-4 16:24 | 只看该作者
07611128 发表于 2015-12-4 15:51
一般定时器不会有很快的中断吧,很快的中断(比如一秒6w次)肯定会影响到程序运行,另外,在发生中断 ...

嗯,中断后会返回断点,断点处的信息会在进入中断前得到保护。我还没用过操作系统呢,表示不会。。。:lol

使用特权

评论回复
地板
maiweiqi| | 2015-12-4 16:28 | 只看该作者
如果定时器里面要用到需要初始化的参数,当然是要把参数都初始化完才开中断,如果只是简单的滴嗒之类的,随便都可以。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

93

主题

289

帖子

5

粉丝