队列简介
队列是为了任务与任务,任务与中断之间的通信而准备的,可以在任务与任务,任务与中断之间传递消息,队列中可以存储有限的/大小固定的数据项目。任务与任务,任务与中断之间要交流的数据保存在队列中,叫做队列项目。队列所能保存的最大数据项目数量叫做队列长度,创建队列的时候会指定数据项目的大小和队列的长度。由于队列用来传递消息的,所以也成为消息队列。FreeRTOS中的信号量也是依据队列实现的。
队列操作函数
xQueueCreate() //创建队列(动态方法)
xQueueCreateStatic() //创建队列(静态方法)
xQueueGenericCreate() //通用队列创建函数(动态方法,系统使用)
xQueueGenericCreateStatic() //通用队列创建函数(静态方法,系统使用)
//任务级入队函数
xQueueSend() //发送消息到队列尾部(后向入队),这两个函数是一样的
xQueueSendToBack()
xQueueSendToFront() //发送消息到队列头(前向入队)
xQueueOverwrite() //发送消息到队列,带覆写功能,当队列满了以后自动覆盖掉旧的消息
//中断级入队函数
xQueueSendFromISR() //发送消息到队列尾(后向入队),这两个函数是一样的,用于中断服务函数
xQueueSendToBackFromISR()
xQueueSendToFrontFromISR() //发送消息到队列头(前向入队),用于中断服务函数
xQueueOverwriteFromISR() //发送消息到队列,带覆写功能,当队列满了以后自动覆盖掉旧的消息,用于中断服务函数