OpenEdv-开源电子网

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

怎么避免大循环里的串口发送被其他中断里的串口串发送,串扰??

[复制链接]

11

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2016-7-19
在线时间
43 小时
发表于 2016-10-21 23:10:47 | 显示全部楼层 |阅读模式
5金钱
我的程序while里连续发送数据 (多帧数据构成的协议)   但是其他中断服务函数里面也有串口发送程序    当触发中断以后while串口的数据和中断程序里的数据相互干扰  
造成  协议数据错乱   这个怎么解决   DMA传输可以解决这个问题么???还是有其他的好的方法@正点原子

最佳答案

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

如果用了OS,就加信号量判定吧;如果裸奔,就加标志位判定
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-10-21 23:10:48 | 显示全部楼层
如果用了OS,就加信号量判定吧;如果裸奔,就加标志位判定
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-10-22 09:09:55 | 显示全部楼层
我以前都是把串口的优先断调到最高,爱谁谁,别想打断我。但是后来代码里没出过这问题,就没再注意优先级对不对了。
自在随心
回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-10-22 12:20:09 | 显示全部楼层
你while里和中断里操作的是同一个uart口?
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2016-10-22 15:02:29 | 显示全部楼层
那就把中断关了,发完再开
我有故事,你有酒吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 06:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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