基于ESP32S3的FreeRTOS之队列(三)
queue队列
常用于传递整形、结构体及指针
queue
xQueueCreate
传递整形
- 创建队列
创建队列
- 接收函数
接收函数
- 接收函数
接收函数
- 结果
运行结果
- 对接收函数进行优化
监控接收队列是否为空,不为才进行接收并打印
传递结构体
- 结构体
结构体
- 发送函数
发送函数
3. 接收函数
接收函数
4. 队列
修改队列宽度,即数据所占位数
传递指针
小心内存的分配和清除,其它差不多
队列的多近单出
- 发送任务一
发送数字111
task1
- 发送任务2
发送数字222
task2
3. 接收任务
接收并打印,并设置接收延时最大,阻塞一直等待接收
4. 队列管理
发送任务优先级一样,接收任务级别为2
Queue Set
队列集合,当集合中中的队列哪个有数据则获取哪个队列的数据
- 创建发送Task1
Task1
2. 发送Task2
Task2
3. 接收Task
接收Task
4. Queue 将队列加入Set
Queue
队列邮箱
里面存放一个数据即队列长度为1,有一个写入邮箱的task,有一个或多个读出邮箱的task
Queue Mail
- queue mail
三个read一个write
2. readTask
readTask
3. writeTask
readTask
4. 结果
写入延迟为6秒
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吾辈之人,自当自强不息!!
评论