全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

FreeRTOS消息队列结构体

时间:2023-07-06 17:03

人气:

作者:admin

标签: 结构体 

导读:有一个结构体用于描述队列,叫做 Queue_t,这个结构体在文件 queue.c 中定义。 3、队列创建 在使用队列之前必须先创建队列,有两种创建队列的方法,一种是静态的,使用函数xQueueCreat...

有一个结构体用于描述队列,叫做 Queue_t,这个结构体在文件 queue.c 中定义。

3、队列创建

在使用队列之前必须先创建队列,有两种创建队列的方法,一种是静态的,使用函数xQueueCreateStatic();另一个是动态的,使用函数

xQueueCreate()。这两个函数本质上都是宏,真正完成队列创建的函数是 xQueueGenericCreate()和

xQueueGenericCreateStatic(),这两个函数在文件 queue.c 中定义。

函数 prvInitialiseNewQueue() 用于队列的初始化,此函数在文件 queue.c 中定义。

函数 prvInitialiseNewQueue()中调用了函数 xQueueGenericReset()来复位队列。

比如我们创建一个有 4 个队列项,每个队列项长度为 32 个字节的队列 TestQueue,创建成功的队列如图所示:

图片

在创建的时候需要指定此队列的用途,也就是队列类型,一共有六种类型:

queueQUEUE_TYPE_BASE 普通的消息队列

queueQUEUE_TYPE_SET 队列集

queueQUEUE_TYPE_MUTEX 互斥信号

queueQUEUE_TYPE_COUNTING_SEMAPHORE 计数型信号量

queueQUEUE_TYPE_BINARY_SEMAPHORE 二值信号量

queueQUEUE_TYPE_RECURSIVE_MUTEX 递归互斥信号量

4、向队列发送消息

FreeRTOS 提供了 8 个向队列发送消息的 API 函数:

图片

5、队列上锁和解锁

队列的上锁和解锁是两个 API 函数:prvLockQueue()和 prvUnlockQueue()。

6、从队列读取消息

有入队就有出队,出队就是从队列中获取队列项(消息),FreeRTOS 中出队函数如表示:

具体的函数用法大家可以在用到的时候百度,这里就不详细介绍了,大家知道有这些东西就行。其中最重要的是任务级和中断级不一样,在中断处理函数中是由一套自己的

API 用的。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信