硬汉嵌入式论坛

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

[embOS] embOS 的消息邮箱发送,接收失败,是怎么个情况 ?

[复制链接]

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
发表于 2020-4-12 22:52:05 | 显示全部楼层 |阅读模式
embOS  的消息邮箱发送,接收失败,是怎么个情况 ?

发送貌似可以发送成功(查看返回值), 接收也是返回成功(也是查看返回值),
但是接收的内容为空 ???

queue-put-get.png


初始化:
osMessageQueueId_t xQueue ;
xQueue = osMessageQueueNew (16, sizeof(uint32_t), NULL);


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106590
QQ
发表于 2020-4-13 07:49:19 | 显示全部楼层
embOS添加的CMSIS-RTOS能用了?
回复

使用道具 举报

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
 楼主| 发表于 2020-4-13 09:30:45 | 显示全部楼层
eric2013 发表于 2020-4-13 07:49
embOS添加的CMSIS-RTOS能用了?

embOS 使用的也是 rtos v2 封装层,是 embOS 提供的,v2封装层外形函数名称保持与其他类型的 v2 封装层一致
回复

使用道具 举报

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
 楼主| 发表于 2020-4-13 09:48:10 | 显示全部楼层
eric2013 发表于 2020-4-13 07:49
embOS添加的CMSIS-RTOS能用了?

embOS 貌似没有看到有 事件标志组 ,是不是不支持啊 ? 还是使用时间标志来代替 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106590
QQ
发表于 2020-4-13 10:39:59 | 显示全部楼层
hpdell 发表于 2020-4-13 09:48
embOS 貌似没有看到有 事件标志组 ,是不是不支持啊 ? 还是使用时间标志来代替 ??

embOS我记得有事件标志组的,你调用的那个函数测试的。
回复

使用道具 举报

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
 楼主| 发表于 2020-4-13 12:12:18 | 显示全部楼层
eric2013 发表于 2020-4-13 10:39
embOS我记得有事件标志组的,你调用的那个函数测试的。

        /* 创建事件标志组 */
        xCreatedEventGroup = osEventFlagsNew(NULL);
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106590
QQ
发表于 2020-4-14 11:47:19 | 显示全部楼层
hpdell 发表于 2020-4-13 12:12
/* 创建事件标志组 */
        xCreatedEventGroup = osEventFlagsNew(NULL);

有的,SEGGER里面的事件标志是这个:

111.png


回复

使用道具 举报

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
 楼主| 发表于 2020-4-14 12:00:59 | 显示全部楼层
eric2013 发表于 2020-4-14 11:47
有的,SEGGER里面的事件标志是这个:

貌似事件标志组 没有找到,我按照官方提供的历程,测试了一下这个事件标志,貌似可以作为 事件标志组使用
回复

使用道具 举报

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
 楼主| 发表于 2020-4-14 12:17:47 | 显示全部楼层
eric2013 发表于 2020-4-14 11:47
有的,SEGGER里面的事件标志是这个:

另外发现一个比较纠结的问题,就是使用

embOS 提供的V2 封装层来创建 queue,event 貌似不行

需要使用 embOS 的原型函数来创建就可以了,

拿事件 来说
OS_EVENT        HW_Event;


1.  
  OS_EVENT_Create(&HW_Event);
  OS_EVENT_Reset(&HW_Event);     这个方法创建的 事件可以正常使用



使用 v2 封装层 osEventFlagsNew 不行


2.  事件等待 使用 v2 封装层的可以, 使用原型函数貌似不怎么好用


3.
事件设置函数 OS_EVENT_SetMask(xEventGroupMusic, MusicTaskReserved_4);  // embOS   这个原型函数,可以正常使用

osEventFlagsSet (xEventGroupMusic, MusicTaskReserved_4);   //v2 封装层不行





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106590
QQ
发表于 2020-4-14 15:04:17 | 显示全部楼层
hpdell 发表于 2020-4-14 12:17
另外发现一个比较纠结的问题,就是使用

embOS 提供的V2 封装层来创建 queue,event 貌似不行

看来SEGGER提供的这个封装层不够完善。
回复

使用道具 举报

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
 楼主| 发表于 2020-4-14 15:07:02 | 显示全部楼层
eric2013 发表于 2020-4-14 15:04
看来SEGGER提供的这个封装层不够完善。

看来 embOS 系统也没有传说中的那么牛逼呀,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106590
QQ
发表于 2020-4-14 15:09:59 | 显示全部楼层
hpdell 发表于 2020-4-14 15:07
看来 embOS 系统也没有传说中的那么牛逼呀,

是他们官方不重视CMSIS-RTOS封装层,uCOS官网也没有做这个。
回复

使用道具 举报

22

主题

250

回帖

321

积分

高级会员

积分
321
发表于 2020-4-14 15:57:07 | 显示全部楼层
embos可以从中断里面给任务发邮件啦?
回复

使用道具 举报

608

主题

3043

回帖

4887

积分

至尊会员

积分
4887
 楼主| 发表于 2020-4-14 16:23:01 | 显示全部楼层
wujialing3000 发表于 2020-4-14 15:57
embos可以从中断里面给任务发邮件啦?

现在看介绍貌似是可以

UM01001_embOS-v5.02.0.pdf (3.75 MB, 下载次数: 5)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 04:18 , Processed in 0.202723 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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