ucosucos的消息是指什么

ucos  时间:2021-07-22  阅读:()

ucos的消息是指什么

ucos消息队列的使用 一、消息队列的使用 1、 需在以下文件中配置如下内容 OS_CFG.H OS_MAX_QS N 你需要的值 根据需要自己配置 #define OS_Q_EN 1 /* Enable (1) or Disable (0) code generation for QUEUES */ #define OS_Q_ACCEPT_EN 1 /* Include code for ept() */ #define OS_Q_DEL_EN 1 /* Include code for OSQDel() */ #define OS_Q_FLUSH_EN 1 /* Include code for OSQFlush() */ #define OS_Q_POST_EN 1 /* Include code for OSQPost() */ #define OS_Q_POST_FRONT_EN 1 /* Include code for OSQPostFront() */ #define OS_Q_POST_OPT_EN 1 /* Include code for OSQPostOpt() */ #define OS_Q_QUERY_EN 1 /* Include code for OSQQuery() */ 2、 建立一个指向消息数组的指针和数组的大小,该指针数组必须申明为void类型,如下: void *MyArrayOfMsg[SIZE]; 3、 声明一个OS_EVENT类型的指针指向生成的队列,如下: OS_EVENT *QSem; 4、 调用OSQcreate()函数创建消息队列,如下: QSem = OSQcreate(&MyArrayOfMsg[0],SIZE); 5、 等待消息队列中的消息,OSQPend()。

void *OSQPend (OS_EVENT *pevent, INT16U timeout, INT8U *err): 必须保证消息队列已经被建立。

timeout定义的是等待超时时间,如果为0则表示无期限的等待 err表示的是在等待消息队列出错时的返回类型,有以下几种: OS_ERR_PEVENT_NULL //消息队列不存在 OS_ERR_EVENT_TYPE OS_TIMEOUT //消息队列等待超时 OS_NO_ERR //消息队列接收到消息 获得消息队列示例 type *GETQ; INT8U err; GETQ = (type *)OSQPend(QSem, time, &err); if(err == OS_NO_ERR){ 无错处理 } else{ 出错处理 } 6.1 向消息队列发送一则消息(FIFO),OSQPost(); INT8U OSQPost (OS_EVENT *pevent, void *msg): 函数返回值有: OS_ERR_PEVENT_NULL OS_ERR_POST_NULL_PTR OS_ERR_EVENT_TYPE OS_Q_FULL OS_NO_ERR 参数:pevent,*msg 6.2 向消息队列发送一则消息(LIFO) INT8U OSQPostFront (OS_EVENT *pevent, void *msg) 6.3 向消息队列发送一则消息(LIFO或者FIFO) INT8U OSQPostOpt (OS_EVENT *pevent, void *msg, INT8U opt) 参数: opt 如果经opt参数中的OS_POST_OPT_BROADCAST位置为1,则所有正在等待消息的任务都能接收到这则消息,并且被OS_EventTaskRdy()从等待列表中删除 如果不是广播方式,则只有等待消息的任务中优先级最高的任务能够进入就绪态。

然后,OS_EventTaskRdy()从等待列表中把等待消息的任务中优先级最高的任务删除。

注: 如果此函数由ISR调用,则不会发生任务切换,直到中断嵌套的最外层中断服务子程序调用OSIntExit()函数时,才能进行任务切换 7、 无等待的从消息队列中获得消息,ept(); void *ept (OS_EVENT *pevent, INT8U *err) err可能的返回值: OS_ERR_PEVENT_NULL OS_Q_EMPTY OS_NO_ERR 函数的返回值:消息,0 8、 清空消息队列 INT8U OSQFlush (OS_EVENT *pevent) 函数返回值: OS_ERR_PEVENT_NULL OS_ERR_EVENT_TYPE OS_NO_ERR 9、 获取消息队列的状态,OSQQuery(); INT8U OSQQuery (OS_EVENT *pevent, OS_Q_DATA *p_q_data) 函数返回值: OS_ERR_PEVENT_NULL OS_ERR_EVENT_TYPE OS_NO_ERR OS_Q_DATA数据结构在ucos_ii.h中

Atcloud:全场8折优惠,美国/加拿大/英国/法国/德国/新加坡vps,500g大硬盘/2T流量/480G高防vps,$4/月

atcloud怎么样?atcloud刚刚发布了最新的8折优惠码,该商家主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御。Atcloud高防VPS。atcloud.net,2020年成立,主要提供基于KVM虚拟架构的VPS、只能DNS解析、域名、SS...

妮妮云香港CTG云服务器1核 1G 3M19元/月

香港ctg云服务器香港ctg云服务器官网链接 点击进入妮妮云官网优惠活动 香港CTG云服务器地区CPU内存硬盘带宽IP价格购买地址香港1核1G20G3M5个19元/月点击购买香港2核2G30G5M10个40元/月点击购买香港2核2G40G5M20个450元/月点击购买香港4核4G50G6M30个80元/月点击购买香...

云如故枣庄高防(49元)大内存2H2G49元8H8G109元

云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...

ucos为你推荐
meeyimevius是什么烟适合男人吸吗?win7无线局域网如何用Win7搭建无线局域网?达内学院成都达内学校在什么地方?goalgoalgoal哆啦小子和哆啦A梦是一个型号的吗?百度创业史1、《创业史》的作者是谁? 2、文中主要人物有哪些?他们的身份是什么? 3、《创物联卡官网物联卡,是什么卡啊???客服系统方案客户管理系统方案都有哪些呢?金山铁路最新时刻表请问现在轨道交通22号线金山铁路是个什么情况?据说9月28日就开通了啊~~~罗振宇2017跨年演讲罗胖的 “侠爷泼妖” 是什么梗,跨年演讲时提到的~罗振宇2017跨年演讲“时间的朋友”跨年演讲办了多少场,分别是什么主题?
virpus 香港托管 账号泄露 免费网站监控 云主机51web 搜狗12306抢票助手 qq数据库 789电视 网站卫士 免费智能解析 电信虚拟主机 中国联通宽带测试 深圳主机托管 博客域名 建站技术 免费的加速器 alexa搜 以下 网易轻博客 qq空间登陆首页 更多