文档章节

UCOSII消息队列使用说明

青春无极限
 青春无极限
发布于 07/23 13:52
字数 423
阅读 87
收藏 0

现在来说一下这个消息队列所传递的数据类型和特性。

首先,这个消息队列不是真正意义上的“队列”,它呢只会把每次存入的数据指针排队,而不会保存该数据。所以调用OSQPost时如果每次都是相同的指针,那就说明 白放了,因为读取的时候读到的是同一个指针,他总是最新的数据,老的没了,何来队列?

其次,该队列可以保存void*类型指针,即所有数据类型都适用,管他是整型还是结构体。

现在这个队列不是真队列,那怎么解决?莫急,看下面:

我这里提一种简单的方法,复杂的各位资格解决吧。

1、定义一个存放数据的缓冲区数组,这样每次向对列添加时就可以用不同的地址。例如struct my_struct data_array[10]

2、然后就是怎么变这个数组下标的问题,直接定义一个变量来寻找,然后使用++,到最后再折回来就好了,例如:

int idx=0;

idx++;

idx %= BUF_SIZE;

3、对于速度能及时解决的任务,那下标这样搞就可以,如果不行,那可能要重新考虑覆盖的问题了。

© 著作权归作者所有

青春无极限
粉丝 2
博文 129
码字总数 71498
作品 0
卢湾
程序员
私信 提问
从零开始学习UCOSII操作系统15--总结篇

前言:在大学的时候,我们班级上面都有很多人觉得学习UCOSII(包括UCOSIII)是没什么厉害的,因为很多人都喜欢去学习Linux操作系统,但是,但是,真实的对整个UCOSII操作系统进行学习,我可以保...

rainbowcode
09/24
7
0
从零开始学习UCOSII操作系统2--UCOSII的内核实现

从零开始学习UCOSII操作系统2--UCOSII的内核实现 参考书籍:《嵌入式实时操作系统μCOS-II原理及应用》、《嵌入式实时操作系统uCOS-II 邵贝贝(第二版)》 1、任务的结构--任务控制块 首先这个...

dhauwd
2018/03/25
0
0
ucosii任务间的同步与通信

ucosii任务间的同步和通信都可以通过“事件”的方式来搞定,这个事件包括:信号量、互斥量、邮箱和消息队列 其中信号量和互斥量用于同步,邮箱和消息队列可用于通信。 任务中有任务控制块,同...

u012142460
2018/03/01
0
0
STM32 按键扫描的方式实现,用队列传递参数

开发环境是keil4.70a 实验板为神舟三号 STM32F103ZET6 软件上使用到了固件库了ucosii 纯粹为了学习,分享一下学习心得 首先上队列初始化的代码 OSEVENT* KEYQ; //按键记录的OS队列void *key...

卜霞森
2013/04/29
1K
0
嵌入式实时操作系统--djyos

djyos (都江堰操作系统)的核心概念与现有操作系统都不一样,即使我有丰富的注释,但不看书还是很难看明白的。所以,希望想要了解djyos的朋友们,先看看我的书《都江堰操作系统与嵌入式系统设...

匿名
2009/02/23
7.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

kubernetes pod exec接口调用

正文 一般生产环境上由于网络安全策略,大多数端口是不能为集群外部访问的。多个集群之间一般都是通过k8s的ApiServer组件提供的接口通信,如https://192.168.1.101:6443。所以在做云平台时,...

码农实战
48分钟前
6
0
3_数组

3_数组

行者终成事
今天
8
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
12
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部