要使用队列,必须首先建立队列,建立队列后,在任务中检测队列中是否有数据,若有数据,则进行处理。
xQueueHandle xQueueRx;
static void vOnCommunicationTask(void *pvParameters)
{
portCHAR cChar;
xQueueRx = xQueueCreate(20, sizeof(u8));/*创建一个深度为20的队列*/
while(1)
{
if(xQueueReceive(xQueueRx, &cChar, 10/portTICK_RATE_MS)==pdTRUE) /*队列中有数据*/
{
printf("%c",cChar);/*输出数据*/
//做其他处理
}
}
}
|