[开发板] 串口中断和定时中断,外部中断在一起如何调用?(感谢函数与积分同学的热情解答)

[复制链接]
819|8
 楼主| duo点 发表于 2023-3-16 11:38 | 显示全部楼层 |阅读模式
当系统有个定时中断。
比如定时采集温度值,然后通过串口发送到上位机。这样程序里要用到定时中断和串口中断
比如定时1s采样一次。那么是1s内调用串口中断。还是1s外再调用

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

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


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

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


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


担心有无这种情况出现:


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

唯一一个,就是发命令时候正想翻转输出脚时候,来了串口中断。。。
pssyx 发表于 2023-3-20 09:35 | 显示全部楼层
温度是一个惯性比较大的参数,既然能间隔1s采样,就不必在意串口中断的开销,只要保证接收到PC指令时,及时上传当前/历史温度值即可。简单来说,串口中断的优先级应该高于定时器中断优先级。
tpgf 发表于 2023-4-13 10:02 | 显示全部楼层
定时中断和串口中断肯定是有一个先后顺序的啊
heimaojingzhang 发表于 2023-4-13 13:08 | 显示全部楼层
按照我的理解 应该是定时中断来了之后才发布采集的命令啊
keaibukelian 发表于 2023-4-13 14:29 | 显示全部楼层
不存在一起调用的情况啊 你这个是有时序关系的
paotangsan 发表于 2023-4-13 15:09 | 显示全部楼层
如果存在一起调用的情况那么就得区分一下优先级别了
renzheshengui 发表于 2023-4-13 16:03 | 显示全部楼层
楼主的这个定时中断是上位机给的 还是单片机自己定时的啊
wakayi 发表于 2023-4-13 16:33 | 显示全部楼层
定时器中断了  然后呢 向上位机发送指令?然后再接收指令吗?
小夏天的大西瓜 发表于 2023-4-15 10:14 | 显示全部楼层
建议楼主在捋顺一下整体思路,理论上应该都可以实现在没有冲突的前提下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

753

主题

4020

帖子

2

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