OpenEdv-开源电子网

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

两个任务对串口资源的使用存在疑惑

[复制链接]

75

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
金钱
289
注册时间
2021-2-5
在线时间
134 小时
发表于 2025-1-10 16:42:11 | 显示全部楼层 |阅读模式
情况描述:基于FreeRTOS创建两个任务,分别是任务A和任务B,   任务A的内容是收到上位机的指令的回复指定的内容,类似激活设备,确定设备能够正常通信;任务B会定时上传传感器数据,频率是一秒一次。
问题现象:就是在某些设备使用的时候,任务A下发指令之后会没有回复,但是是有小概率的偶发问题
个人疑惑:正常来说,两个任务对同一个外设资源的使用应该是互斥的才合理,我加临界区之前没考虑这点,加临界区的目的是保证数据的完整发送,当然将临界区换成互斥信号量会更加合理,那么抛开信号量不说,就基于临界区,两个任务运行时,假如在极端情况下,发生“并发”情况,当然这里不是真正意义的上的并发,任务B进入临界区之后,中断就会关闭,任务A就不会运行,此时退出临界区之后, 任务A的串口发送还会成功吗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

75

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
金钱
289
注册时间
2021-2-5
在线时间
134 小时
 楼主| 发表于 2025-1-10 16:43:44 | 显示全部楼层
还有就是,哪个瓜娃子举报这个网站,我读大学就开始用这个网站,学到不少东西,你要是觉得网站有问题,麻烦你指出来,不然逮到腿给你打断
回复 支持 反对

使用道具 举报

2

主题

449

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4225
金钱
4225
注册时间
2018-5-14
在线时间
917 小时
发表于 2025-1-10 17:02:56 | 显示全部楼层
15284083060 发表于 2025-1-10 16:43
还有就是,哪个瓜娃子举报这个网站,我读大学就开始用这个网站,学到不少东西,你要是觉得网站有问题,麻烦 ...

这不是加个锁保护一下的事情,一个队列负责在串口中断收消息,然后任务A接收该队列内容,回复内容,任务B单单写串口,那么写串口这个动作使用Mutex锁定,当最后一个字节发完,判断到TC标志位,再解锁不就行了
回复 支持 反对

使用道具 举报

75

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
金钱
289
注册时间
2021-2-5
在线时间
134 小时
 楼主| 发表于 2025-1-11 21:11:50 | 显示全部楼层
姚先起 发表于 2025-1-10 17:02
这不是加个锁保护一下的事情,一个队列负责在串口中断收消息,然后任务A接收该队列内容,回复内容,任务B ...

加锁处理这个方式是没问题,我也理解,我就是单纯从技术角度想去理解这个临界区的对串口发送的影响
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-1-19 02:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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