打印

串口中断和定时中断,外部中断在一起如何调用?

[复制链接]
4117|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanse51|  楼主 | 2013-5-31 00:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当系统有个定时中断。
比如定时采集温度值,然后通过串口发送到上位机。这样程序里要用到定时中断和串口中断
比如定时1s采样一次。那么是1s内调用串口中断。还是1s外再调用

如果是1s后才允许用串口中断。是不是就不是1s定时采样了?那也就是说,执行1s以后。再调用串口接收中断了。就会不准。接收数据也要时间的哈。比如上位机向下位机写入一帧数据,24个字节。(接收中断)。波特率9600. 那么24*8/9600=20ms

也就是说,处理了定时中断后,再处理的串口中断
时间上:实际是定时+串口


如果是1s内,那么定时中断内嵌套串口中断?

不清楚,串口接收中断究竟用于定时中断内,还是外。


当然,定时中断内只是设定个标志位,具体运算程序还是在主循环里做


担心有无这种情况出现:


上位机发来数据,不收就会丢。计时被中断,就会错过。

唯一一个,就是发命令时候正想翻转输出脚时候,来了串口中断。。。

相关帖子

沙发
ayb_ice| | 2013-5-31 07:54 | 只看该作者
谁先到就处理谁,同时时依据优先级

使用特权

评论回复
板凳
yanse51|  楼主 | 2013-5-31 09:24 | 只看该作者
ayb_ice 发表于 2013-5-31 07:54
谁先到就处理谁,同时时依据优先级

设定定时中断先到,优先级高。 当定时中断触发时,在主循环中进行运算。此时,如果串口中断触发,那么势必影响运算。这问题如何解决呢?

使用特权

评论回复
地板
ayb_ice| | 2013-5-31 09:31 | 只看该作者
中断程序进入时都要保护现场,退出时恢复现场,C里自动完成,汇编自动搞定,如果用到其它公共资源,是否产生冲突自己判断,自己搞定,这不是MCU的事,也不是编译器的事

使用特权

评论回复
5
528388812| | 2013-5-31 09:38 | 只看该作者
保护现场

使用特权

评论回复
6
chen3303| | 2014-7-17 10:56 | 只看该作者
各位前辈 我是入门及新手想学串口中断应该去哪学?

使用特权

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

本版积分规则

39

主题

88

帖子

0

粉丝