1.主题:消息队列可以应用于发送不定长消息的场合,包括任务与任务间的消息交换,队列是 FreeRTOS 主要的任务间通讯方式,可以在任务与任务间、中断和任务间传送信息,发送到 队列的消息是通过拷贝方式实现的,这意味着队列存储的数据是原数据,而不是原数据的 引用。
2.主要涉及的函数以及头文件包括:
#include "queue.h"
①创建一个队列
② 队列删除
void vQueueDelete( QueueHandle_t xQueue )
其中:
xQueue 为队列句柄
③队列发送函数
④队列接收函数
例子实现方式:
static TaskHandle_t AppTaskCreate_Handle = NULL;/* 创建任务句柄 */
static TaskHandle_t Receive_Task_Handle = NULL;/* LED任务句柄 */
static TaskHandle_t Send_Task_Handle = NULL;/* KEY任务句柄 */
QueueHandle_t Test_Queue =NULL; /*队列句柄*/
#define QUEUE_LEN 4 /* 队列的长度,最大可包含多少个消息 */
#define QUEUE_SIZE 4 /* 队列中每个消息大小(字节) */
//函数声明
static void AppTaskCrea