本文主要是介绍FreeRTOS学习——FreeR TOS队列(下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本篇文章记录我学习FreeRTOS的队列的相关知识,在此记录分享一下,希望我的分享对你有所帮助。
FreeRTOS学习——FreeRTOS队列(上)-CSDN博客
一、FreeRTOS队列的创建
(一)、函数原型
在使用队列之前必须先创建队列,有两种创建队列的方法,一种是静态的,使用函数xQueueCreateStatic();另一个是动态的,使用函数xQueueCreate()。这两个函数本质上是都是宏,真正完成队列创建的函数是xQueueGenericCreate()和 xQueueGenericCreateStatic(),这两个函数在文件 queue.c中有定义,这四个函数的原型如下。
1、函数xQueueCreate()
此函数本质上一个宏,用来动态创建队列,此宏最终调用的函数是xQueueGenericCreate(),函数原型是:
参数说明:
uxQueueLength: 要创建的队列长度,这里是队列的项目数。
uxItemSize: 队列中每个项目(消息)的长度,单位是字节
返回值:
其他值: 队列创捷成功以后返回的队列句柄!
NULL : 队列创建失败。
2、函数xQueueCreaterStatic()
此函数也是用于创建队列的,但是使用的静态方法创建队列,队列所需要的内存由用户自行分配,此函数本质上也是一个宏,此宏最终调用的是函数xQueueGenericCreateStatic(),函数原型如下:
3、函数xQueueGenericCreate()
函数xQueueGenericCreate()用于动态创建队列,创建队列过程中需要的内存均通过FreeRTOS中的动态内存管理函数pvPortMalloc()分配,函数原型如下:
4、函数xQueueGenericCreateStatic()
此函数用于动态创建队列,创建队列过程中需要的内存需要由用户自行分配好,函数原型如下:
这篇关于FreeRTOS学习——FreeR TOS队列(下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!