历史上的今天
返回首页

历史上的今天

今天是:2025年04月25日(星期五)

正在发生

2019年04月25日 | stm32cube学习笔记(2)

2019-04-25 来源:eefocus

任务:使用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;



推荐阅读

史海拾趣

喜美克斯(Cvilux)公司的发展小趣事

在市场竞争日益激烈的电子行业中,喜美克斯公司始终坚持品质至上的原则。公司投入大量资源用于产品质量控制和生产工艺的改进,确保每一件产品都能达到最高的品质标准。这种对品质的执着追求,让喜美克斯的产品在市场上赢得了良好的口碑,也为公司赢得了众多忠实的客户。

E-Mark Inc公司的发展小趣事

JKL公司是一家创新型电子企业,专注于研发新能源汽车电子控制系统。为了推动新能源汽车的发展并满足欧洲市场的需求,JKL公司决定对其产品进行E-Mark认证。在认证过程中,JKL公司积极投入研发资源,不断创新技术,提升产品的智能化和安全性。最终,JKL公司的产品成功获得了E-Mark认证,并在欧洲市场得到了广泛应用和认可。这一认证不仅加速了JKL公司新能源汽车技术的市场推广速度,也提升了公司在国际市场的竞争力。

Excelsys公司的发展小趣事

随着全球对环保意识的日益增强,Excelsys公司积极响应绿色环保的号召,将环保理念融入到产品设计和生产过程中。公司采用环保材料、优化生产工艺、提高能源利用效率等措施,减少了对环境的影响。同时,公司还积极参与环保公益活动,为行业的绿色发展贡献力量。

FEMA Electronics Corporation公司的发展小趣事

FEMA在追求经济效益的同时,也积极履行社会责任。公司积极参与公益事业和慈善活动,为社会做出了积极贡献。同时,FEMA还注重环保和可持续发展,努力降低生产过程中的能耗和排放。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。在履行社会责任的过程中,FEMA实现了经济效益和社会效益的双赢。

Advanced Thermal Products Inc公司的发展小趣事

ATP公司深知品质是企业生存和发展的基石。因此,他们建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控。同时,公司注重品牌建设,通过广告宣传、参加展会等方式提升品牌知名度和美誉度。这些举措使得ATP公司在市场上逐渐树立了良好的品牌形象。

Hayashi Denko Co Ltd公司的发展小趣事

为了保持技术领先,ATP公司积极与高校、科研机构等进行技术合作。他们共同研发新的热管理技术,不断推动产品升级换代。同时,公司还加大研发投入,引进先进的研发设备和人才,为公司的技术创新提供了有力支持。这些举措使得ATP公司在热管理领域的技术实力得到了显著提升。

问答坊 | AI 解惑

光电传感器资料

光电传感器资料…

查看全部问答>

I2C

看有兄弟想要I2C,这里附上我找到的几个吧…

查看全部问答>

1114积分留恋!!!!

今天终于1114分了,来之不易啊,和NXP LPC1114还很有缘啊!留恋一下:   …

查看全部问答>

关于GPRS PAP 协议握手失败的问题

占用大侠一点时间,提个问题::请路过的,知道的高抬贵手,感谢不尽。我使用的是 西门子的MC39I 模块做通信终端 问题如下,我做的GPRS DTU 在拨号成功以后:APN 与我发送的数据如下,一下用 A -> M 代表apn向dut 发送数据;M -> A代表DTU向APN发送 ...…

查看全部问答>

TCPMP 0.72RC1 for CE6.0的错误

使用VS2005编译TCPMP,安装了CE6.0的SDK,编译成功,但运行时总是出现错误:弹出对话框,crash.txt。 调试时发现,错误好像与common.dll在关。但本人就是无法修改(即不能发现出错的原因)使TCPMP在CE6.0上正常运行。 请有经验的朋友说说,这个错误 ...…

查看全部问答>

谁帮我看一下,我的外部中断是真么了?

#include sbit light=P1^0; void delay(); void main() {      while(1)          {             light=1;//灭灯       &nbs ...…

查看全部问答>

c8051f040新手请教

大家好,我以前学过stc89c52这款单片机,当我开始学040的时候,却有点手足无措,不知道该用它来干什么,040的64个io口是否与51的io口功能都一样呢,我现在学040,应该先做个什么东西呢,请大家指点一下…

查看全部问答>

EVC4.0自带的帮助文件中声明有的东西为什么实际使用时却没有?

比如WM_MOUSEWHEEL,都用EVC的ClassWizard把OnMouseWheel()加进去了,但编译时却提示WM_MOUSEWHEEL没有声明. 还有CImageList::Create(int cx, int cy, UINT nFlags, int nInitial, int nGrow ); 帮助文件中说nFlags有ILC_COLOR,ILC_COLOR4 ...…

查看全部问答>

2407板子load的时候出现问题了

我是光盘里面拷出来的程序GPIO的,编译可以通过但是在load的时候提示 这个是我的cmd文件: Data verfication failed at address 0x100h,我觉得在程序和数据空间分配上没有什么问题,但是就是Load不了,请工程师帮我解答一下 MEMORY {  & ...…

查看全部问答>

请问TI上有5402的头文件吗?

TI下载了C281x的C/C++头文件和例程SPRC097,但是找了很久也没有找到54x的头文件!~     请问TI上有5402的头文件和例程吗 ? 是SPRC多少?   谢谢!~…

查看全部问答>