消息队列常用API函数主要有四种:创建队列、写入消息、读出消息、删除队列
消息队列使用注意事项(注意事项中的 东西经常用到)
一、创建队列
消息队列创建函数 xQueueCreate()
参数为:队列长度和消息单元大小
消息队列静态创建函数 xQueueCreateStatic()
常用xQueueCreate()函数
二、消息队列删除函数
void vQueueDelete( QueueHandle_t xQueue )
消息队列删除函数:删除队列后,队列将不在存在
三、写入消息函数
xQueueGenericSend()
xQueueGenericSendFromISR()
xQueueSend()
xQueueSendFromISR()
xQueueSendToFront()
xQueueSendToFrontFromISR()
xQueueGenericSend()
(1)、队列句柄
(2)、指针,指向要发送的消息
(3)、指定阻塞的超时时间
(4)、发送数据到消息队列的位置(可以设置为队首、队尾、覆盖)
xQueueGenericSendFromISR()
xQueueSend()与xQueueSendToBack()
这个函数是普通的写入消息的函数(是将消息插入到队尾)
xQueueSendFromISR()与 xQueueSendToBackFromISR()
这个函数是中断写入消息的函数(将消息插入到队尾)
xQueueSendToFront()
这个函数是普通的消息插入函数(将消息插到队首)
xQueueSendToFrontFromISR()xQueueSendToFront()
这个函数是用于中断写入消息的函数(将消息插入到队首)
三、读取消息
xQueueReceive()与xQueuePeek()
xQueueReceiveFromISR()与 xQueuePeekFromISR()
xQueueReceive()与xQueuePeek()
xQueueReceive()函数读取消息后,会将消息删除
xQueuePeek()函数读取消息后,不会将消息删除
xQueueReceiveFromISR()与 xQueuePeekFromISR()
这两个用于中断函数中