硬汉嵌入式论坛

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

[FreeRTOS] 单个消息通过消息队列向多个任务进行同步的问题

[复制链接]

7

主题

23

回帖

76

积分

初级会员

积分
76
发表于 2017-11-26 17:04:47 | 显示全部楼层 |阅读模式
如题,请教一下各位,单个消息通过消息队列向多个任务进行同步时,选取哪种通信方式比较好:
       1.分别对每个任务创建一个消息队列,这种方式觉得比较繁琐;
       2.只创建一个消息队列,根据任务数设置单个消息的数量,但这种方式下如何确保每个任务都收到了消息(如:每个任务读取消息的快慢有差异,可能存在某个任务多次读取的问题);


另外一个问题:在实际项目中,涉及的消息队列众多,而消息队列命名的长度是有限制,各位从可读性的角度,给消息队列命名有哪些比较好的方式?

本人菜鸟,望不吝赐教!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2017-11-27 00:48:24 | 显示全部楼层
使用任务通知方式的消息队列可以解决你这三个问题。
回复

使用道具 举报

7

主题

23

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2017-11-27 08:16:52 | 显示全部楼层

回 eric2013 的帖子

eric2013:使用任务通知方式的消息队列可以解决你这三个问题。 (2017-11-27 00:48) 
嗯,但主要是考虑到这种方式传递的消息大小有限
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2017-11-27 10:42:56 | 显示全部楼层

回 mr_ftx 的帖子

mr_ftx:嗯,但主要是考虑到这种方式传递的消息大小有限 (2017-11-27 08:16) 
FreeRTOS的这个任务消息队列做的不够专业,uCOS-III的这个功能做的非常棒。
回复

使用道具 举报

7

主题

23

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2017-11-27 11:07:05 | 显示全部楼层

回 eric2013 的帖子

eric2013:FreeRTOS的这个任务消息队列做的不够专业,uCOS-III的这个功能做的非常棒。 (2017-11-27 10:42) 
好的吧,看来收费和免费还是有差距的
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2018-1-22 09:50:00 | 显示全部楼层
eric2013 发表于 2017-11-27 10:42
FreeRTOS的这个任务消息队列做的不够专业,uCOS-III的这个功能做的非常棒。

请问一下,如果有软定时,和中断都可能触发任务,比如显示任务,由定时轮显(软定时)触发,也可能由按键(中断)触发,而且携带的信息不一样,这种情况如何处理?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2018-1-22 11:19:45 | 显示全部楼层
ck123 发表于 2018-1-22 09:50
请问一下,如果有软定时,和中断都可能触发任务,比如显示任务,由定时轮显(软定时)触发,也可能由按键( ...

使用消息队列功能,不要使用这个任务消息队列。
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2018-1-22 15:49:32 | 显示全部楼层
eric2013 发表于 2018-1-22 11:19
使用消息队列功能,不要使用这个任务消息队列。

软定时回调函数中osMessagePut,按键触发中断中也osMessagePut,  在显示任务中osMessageGet?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2018-1-22 15:52:41 | 显示全部楼层
ck123 发表于 2018-1-22 15:49
软定时回调函数中osMessagePut,按键触发中断中也osMessagePut,  在显示任务中osMessageGet?

如果你使用的FreeRTOS加了封装层CMSIS-RTOS,那么应该就是你说的这个函数。
他们的这个封装层应该没有做任务消息的支持。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 02:47 , Processed in 0.297775 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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