Posted on 2021-07-14 02:17
小菜枫 阅读(1747)
评论(0) 编辑 收藏 引用 所属分类:
学习笔记
1、创建队列API: xQueueCreate(queue.h),其受控于动态申请的宏configSUPPORT_DYNAMIC_ALLOCATION(FreeRTOS.h),并且该宏默认是启用的
2、声明并创建消息队列
3、添加头文件
4、发送函数
xQueueSend:// 写入到队末,队列满后,超时不会插入
xQueueSendToBack:// 写入到队末,队列满后,超时不会插入
上面两个宏定义内函数调用其实是一样的:
xQueueOverwrite:// 写入到队末,队列满后,超时不会插入
xQueueSendToFront:// 写入到队末,队列满后,超时不会插入
5、5、接收函数
xQueueReceive://取出消息,并从队列中删除该消息
xQueuePeek://取出消息,不删除队列中的该消息
6、xQueueSend发送时,队列满了,会如何?使用xQueueSend发送100ms一次
6.1)采用xQueuePeek读取消息,每1S读一次
6.2)采用xQueueReceive读取消息,每1S读一次
7、xQueueSendToBack的实际实现跟xQueueSend完全一致,这里就不尝试了,队列满了,使用xQueueSendOverwrite会如何?使用xQueueSendOverwrite发送100ms一次
7.1)采用xQueuePeek读取消息,每1S读一次
7.2)采用xQueueReceive读取消息,每1S读一次
8、xQueueSendToFront发送时,队列满了,会如何?使用xQueueSendToFront发送100ms一次
8.1)采用xQueuePeek读取消息,每1S读一次
8.2)采用xQueueReceive读取消息,每1S读一次