OpenEdv-开源电子网

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

关于osMessageGet函数换回值osEvent的问题

[复制链接]

3

主题

19

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-12-1
在线时间
13 小时
发表于 2017-12-21 20:20:54 | 显示全部楼层 |阅读模式
15金钱
osEvent msg;
uint8_t *pMsgBuf, *pMsgData;
msgq_header *pMsgqHdr;

msg = osMessageGet(pOsQid, timeout);
pMsgBuf = (uint8_t *)msg.value.p;

看到一段代码,有个地方有疑惑?msg.value.p在函数osMessageGet内如何赋值(在osMessageGet内部没看到啊)的或这函数返回的msg.value.p指的是什么,有没有大神研究过?

cmsis_os.h中定义的:
typedef struct  {
  osStatus                 status;     ///< status code: event or error information
  union  {
    uint32_t                    v;     ///< message as 32-bit value
    void                       *p;     ///< message or mail as void pointer
    int32_t               signals;     ///< signal flags
  } value;                             ///< event value
  union  {
    osMailQId             mail_id;     ///< mail id obtained by \ref osMailCreate
    osMessageQId       message_id;     ///< message id obtained by \ref osMessageCreate
  } def;                               ///< event definition
} osEvent;

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-21 22:07:23 | 显示全部楼层
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-12-1
在线时间
13 小时
 楼主| 发表于 2018-1-5 10:12:43 | 显示全部楼层
顶顶顶
回复

使用道具 举报

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2020-5-9
在线时间
14 小时
发表于 2020-7-2 08:53:02 | 显示全部楼层
帮顶!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-18 19:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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