第10章 消息队列
约 323 字大约 1 分钟
2026-01-19
案例需求
task1:
当按键SW3或SW4按下,将按键的值添加到队列 queue1(入队);
当按键SW5按下,将传输较大数据,这里添加大数据的地址到队列 queue2 中。
task2:
读取队列 queue1 中的消息(出队),打印出接收到的键值。
task3:
从队列 queue2 读取大数据地址,通过地址访问大数据。相关类型:
QueueHandle_t 队列句柄类型相关函数
xQueueCreate() 动态方式创建队列
xQueueCreateStatic() 静态方式创建队列
xQueueSend() 往队列的尾部写入消息
xQueueSendToBack() 同 xQueueSend()
xQueueSendToFront() 往队列的头部写入消息
xQueueOverwrite() 覆写队列消息(只用于队列长度为 1 的情况)
xQueueSendFromISR() 在中断服务函数中往队列的尾部写入消息
xQueueSendToBackFromISR() 同 xQueueSendFromISR()
xQueueSendToFrontFromISR() 在中断服务函数中往队列的头部写入消息
xQueueOverwriteFromISR() 在中断服务函数中覆写队列消息(只用于队列长度为 1 的情况)
xQueueReceive() 从队列头部读取消息,并删除消息
xQueuePeek() 从队列头部读取消息
xQueueReceiveFromISR() 在中断服务函数中从队列头部读取消息,并删除消息
xQueuePeekFromISR() 在中断服务函数中从队列头部读取消息