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

[复制链接]
4585|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的事,也不是编译器的事
528388812 发表于 2013-5-31 09:38 | 显示全部楼层
保护现场
chen3303 发表于 2014-7-17 10:56 | 显示全部楼层
各位前辈 我是入门及新手想学串口中断应该去哪学?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

88

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部