废话不多说,创建一个队列,在cubeMX下自动生成代码如下
osMessageQDef(ESP8266SendQueue, 256, 8);
ESPSendQueueHandle =osMessageCreate(osMessageQ(ESP8266SendQueue), NULL);
该队列意义在于生成256个item,每个item大小8个字节
使用队列最主要是作为数据传输的载体,现在可以很简单的测试一下使用队列传输的功能;
首先定义一个8个元素的数组
uint8_t AA[8] = {1,2,3,4,5,6,7,8};
然后随便在一个任务中将该数组拷入队列
xQueueSend(ESPSendQueueHandle, AA,100);
然后在另外一个任务中使用一个数组作为载体将队列中的数据拷出来
uint8_t BB[8];
拷贝出来
xQueueReceive(ESPSendQueueHandle,& BB,500);
然后通过串口助手发送(未配置可以直接使用