OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2765|回复: 5

请教一个串口中断和定时器的问题

[复制链接]

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-9-21
在线时间
23 小时
发表于 2019-3-20 18:16:24 | 显示全部楼层 |阅读模式
1金钱
我现在串口2用作485通信,串口1用作与传感器通信,读传感器数据。传感器数据是每隔一秒自动上传的,不受我控制。
串口1用timer2来设定一帧的长度,超时算一帧结束;同样用timer3来设定串口2的帧长度。
那要想着两个串口的都正常工作,是不是串口1和串口2中断的抢占优先级是一样的?不然比如串口1的优先级高,那串口2正在进行485通信的时候,串口1发生中断的话,程序进入串口1的中断了,打断了串口2那边的正常接收,有可能使得timer3超时,结束一帧的接收?
要想用定时器来判断串口接收的一帧是否结束,那定时器中断的抢占优先级需要比串口中断抢占优先级高吗?不然定时器中断能结束串口的接收中断吗?
非常感谢。这里是个很好的论坛,能学到很多东西!


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-9-21
在线时间
23 小时
 楼主| 发表于 2019-3-20 18:18:48 | 显示全部楼层
修正一下,两个定时器不是设定帧长度的,是判定一帧数据是否已经接收完的。
回复

使用道具 举报

36

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
943
金钱
943
注册时间
2015-11-24
在线时间
162 小时
发表于 2019-3-20 18:29:24 | 显示全部楼层
串口接收超时,思路没有问题,至于中断的优先级问题,先做了再说,你说的问题不存在
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-9-21
在线时间
23 小时
 楼主| 发表于 2019-3-20 19:44:29 | 显示全部楼层
gangzilife 发表于 2019-3-20 18:29
串口接收超时,思路没有问题,至于中断的优先级问题,先做了再说,你说的问题不存在

为啥不存在呢?
假如串口1抢占优先级1,串口2抢占优先级2,那串口2正在中断接收数据的时候,串口1的高级别中断来了,不是打断了串口2的数据接收吗?
同样,假如串口1中断的抢占优先级是1,它对应的定时器的中断的抢占优先级也是1,那串口1中断接收中,定时器由于长时间没收到数据,产生中断,导致一帧结束;问题是此时正在串口1的中断中,那这个定时器的中断是如何导致串口1的中断的终止的呢?
回复

使用道具 举报

36

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
943
金钱
943
注册时间
2015-11-24
在线时间
162 小时
发表于 2019-3-21 08:59:31 | 显示全部楼层
本帖最后由 gangzilife 于 2019-3-21 09:03 编辑
qilongzh 发表于 2019-3-20 19:44
为啥不存在呢?
假如串口1抢占优先级1,串口2抢占优先级2,那串口2正在中断接收数据的时候,串口1的高级 ...

实际实验过了吗?理论结合实际。串口的速度是很慢的,如果是恰好正在接收,被别人抢占了,中断回来后,下一个数据又来了,确实会丢数据,但你可以实际测试一下,看这个恰好的概率大不大,而且系统那么多中断,响应速度是很快的,串口的波特率慢,中断就算被中断,回来可以继续接收
回复

使用道具 举报

36

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
943
金钱
943
注册时间
2015-11-24
在线时间
162 小时
发表于 2019-3-21 09:04:36 | 显示全部楼层
本帖最后由 gangzilife 于 2019-3-21 09:06 编辑
qilongzh 发表于 2019-3-20 19:44
为啥不存在呢?
假如串口1抢占优先级1,串口2抢占优先级2,那串口2正在中断接收数据的时候,串口1的高级 ...

而且你这个接收超时好像逻辑有点问题,正在接收中,定时器根本不会产生中断,不然为啥叫超时中断,可以参考下modbus-rtu的接收超时
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 03:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表