硬汉嵌入式论坛

 找回密码
 立即注册
查看: 76|回复: 4
收起左侧

[FreeRTOS] RTOS中操作外设的问题?

[复制链接]

11

主题

121

回帖

154

积分

初级会员

积分
154
发表于 昨天 19:26 | 显示全部楼层 |阅读模式
在使用RTOS后,MCU通过I2C发送数据(MCU是主机),MCU通过串口发送数据等。不同的任务需要发送数据,是独立一个任务操作(任务间通讯或者自己写个队列,其它任务写队列,这个任务读队列等方式)这个外设好,还是每个任务都单独操作(加互斥锁)这个外设好?还是分应用场景两种都可以。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
122285
QQ
发表于 11 小时前 | 显示全部楼层
1、使用互斥的话,任务设计比较容易,可以先测试下是否满足需求。
2、然后考虑使用独立一个任务收发消息。
回复

使用道具 举报

11

主题

121

回帖

154

积分

初级会员

积分
154
 楼主| 发表于 4 小时前 | 显示全部楼层
eric2013 发表于 2026-4-28 08:11
1、使用互斥的话,任务设计比较容易,可以先测试下是否满足需求。
2、然后考虑使用独立一个任务收发消息。

版主是不是也认为大多数情况下用一个独立任务会比较好?
回复

使用道具 举报

30

主题

453

回帖

543

积分

金牌会员

积分
543
发表于 4 小时前 | 显示全部楼层
xy201207 发表于 2026-4-28 14:54
版主是不是也认为大多数情况下用一个独立任务会比较好?

看需求场景。
互斥是同步的。同步适用于多个部件相互配合执行某项任务时,对执行时序有要求的情况,必须等前一个动作完成才能发起后面的动作。
发消息不等执行完是异步的,等待执行线程返回执行结果再继续则是同步的。lwip内核跑在一个线程中接受外部消息的控制
回复

使用道具 举报

11

主题

121

回帖

154

积分

初级会员

积分
154
 楼主| 发表于 2 小时前 | 显示全部楼层
tovinz 发表于 2026-4-28 15:08
看需求场景。
互斥是同步的。同步适用于多个部件相互配合执行某项任务时,对执行时序有要求的情况,必须 ...

我本来也是你这么想的。如果接收消息的任务比你发消息任务优先级高,其实也算同步吧。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-4-28 19:15 , Processed in 0.244196 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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