码迷,mamicode.com
首页 > 其他好文 > 详细

stm32cube学习笔记(2)

时间:2015-01-30 15:50:36      阅读:2139      评论:0      收藏:0      [点我收藏+]

标签:

任务:使用stm32cube 工程的message quene management 部分api

1、使用stm32cubemx生成相应的工程

2、使能消息队列相关的函数

      #define osFeature_MessageQ   1

3、定义消息队列的名字

osMessageQDef(MsgBox, 1, int); //创建一个长度为1,单位为int的消息队列
osMessageQId  MsgBox;               //消息队列的ID  


4、创建队列

       MsgBox = osMessageCreate(osMessageQ(MsgBox), NULL);

      //穿件消息队列

5、向队列发送消息

      osMessagePut(MsgBox, 1, osWaitForever);

      注:1、这个函数实现向消息队列传送一个int数据1、并且进程一直阻塞知道

7、从队列接收消息

    osEvent  evt;

    evt = osMessageGet(MsgBox, osWaitForever);

    osEvent  数据传输过程中传输的数据 ,结构体定义如下

   typedef struct  {
       osStatus                 status;    //消息类型
     union  {
        uint32_t                    v;     //消息中为值
        void                       *p;     //消息中为指针
       int32_t               signals;     
      } 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;

stm32cube学习笔记(2)

标签:

原文地址:http://blog.csdn.net/q759040024/article/details/43307615

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!