OpenEdv-开源电子网

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

多串口接收

[复制链接]

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-4-11
在线时间
38 小时
发表于 2016-6-23 10:09:31 | 显示全部楼层 |阅读模式
5金钱
本人正在做一个小项目,用的是STM32F103RC,其中需要用三个串口来接受数据,比如用串口1,2,3。串口2和串口3 数据到来是互斥的也就是他两不可能同时到来,但到来时间不可控,任何时候都有可能来,串口1的数据也是任何时候都有可能来,问题来了。用串口中断接数据,由于时间不确定性,必然会存在他们同时到来的情况,这时候优先级高的先处理,那低优先级的是否就要被抛弃了?或者我正在低优先级的中断中接收数据,高优先的中断来了,那低优先级的不也会被打断,造成丢数据。不知道大家是怎么处理的,是通过定协议重发被丢的数据帧还是有啥办法啊?

最佳答案

查看完整内容[请看2#楼]

记住,串口是很慢的通信方式。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11546
金钱
11546
注册时间
2014-4-1
在线时间
1315 小时
发表于 2016-6-23 10:09:32 | 显示全部楼层

记住,串口是很慢的通信方式。


回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11546
金钱
11546
注册时间
2014-4-1
在线时间
1315 小时
发表于 2016-6-23 10:56:26 | 显示全部楼层

串口是很慢的通信方式,
只要管理不互扰,即使中断被打断又怎么样!

中断方法没问题,
另外可以用查询。


回复

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2016-6-23 11:39:38 | 显示全部楼层
没问题吧,我5个串口都在用,串口中断里只接受数据缓存,不做其他任何事
回复

使用道具 举报

22

主题

180

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2015-6-29
在线时间
101 小时
发表于 2016-6-23 17:19:45 | 显示全部楼层
除非你的程序有问题,在串口中断里面阻塞了很长时间,否则一点问题都没有
我是菜鸟
回复

使用道具 举报

20

主题

468

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1684
金钱
1684
注册时间
2014-2-25
在线时间
230 小时
发表于 2016-6-23 17:36:48 | 显示全部楼层
不用紧张,没事的。你还可以使用DMA接收,具体看看我的一个帖子,我一直都是那么用的。
回复

使用道具 举报

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-4-11
在线时间
38 小时
 楼主| 发表于 2016-6-23 23:08:24 | 显示全部楼层
谢谢大家的帮助,我领悟了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 13:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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