FreeRTOS消息队列结构体

有一个结构体用于描述队列,叫做 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 用的。

芯片电学测试是什么?都有哪些测试参数?
三星Galaxy S21系列机型外观渲染图曝光
量子计算到了计算机学者入场的最佳时机吗?
超级电容使用注意事项
减速电机日常出现的异常原因及解决方法
FreeRTOS消息队列结构体
博世正式发布了车载3D显示屏,可能开启新一轮装机热潮
今日看点丨中国之外,美国限制英伟达向中东国家出口AI芯片;传苹果正测试金属3D打印工艺制造Apple Watch
AT32讲堂022 | AT32 MCU ERTC的基本功能
工业4.0革命的幕后推手是谁?
基于FPGA的手势识别的多功能机械臂方案
PCB组装过程:需要了解的6件事
振弦采集模块的通讯协议( IIC)
小米提交的一项专利在背面展示了一个滑动摄像头模块
施密特触发器能代替电压比较器吗_电压比较器与施密特触发器的区别
全球6大旗舰PK,一加3T以快充领先
使用便携式有毒气体检测仪前需要注意哪些事项?
碧桂园战略布局机器人领域
7月动力电池市场数据公布!
电视机顶盒哪个牌子好?经销商推荐线下热销电视机顶盒排行榜