FreeRTOS筆記_ 隊列集
一、隊列集
1.1 隊列集簡介
? ? ? ? 一個隊列只允許任務(wù)間傳遞的信息為同一種數(shù)據(jù)類型,如果需要在任務(wù)間傳遞不同數(shù)據(jù)類型的信息時,可以使用隊列集。
? ? ? ? 用于對多個隊列或信號量進行監(jiān)聽,其中不管哪一個消息到來,都可以讓任務(wù)退出阻塞狀態(tài)。
假設(shè):有個接收任務(wù),使用到隊列接收和信號量的獲取,如下:

?使用隊列集可以使該任務(wù)流程變成:

二、隊列集相關(guān)API函數(shù)
?隊列集函數(shù)

2.1創(chuàng)建隊列集:
2.2往隊列集中添加隊列:
要注意的時,隊列在被添加到隊列集之前,隊列中不能有有效的消息
2.3隊列集中移除隊列
2.4任務(wù)中獲取隊列集中有有效消息的隊列
3?隊列集操作實驗(掌握)
1、實驗?zāi)康模簩W(xué)習(xí)?FreeRTOS?的隊列集相關(guān)API的使用。
2、實驗設(shè)計:將設(shè)計三個任務(wù):start_task、task1、task2
三個任務(wù)的功能如下:

隊列集使用流程
1、啟用隊列集功能需要將宏configUSE_QUEUE_SETS?配置為?1
2、創(chuàng)建隊列集
3、創(chuàng)建隊列或信號量
4、往隊列集中添加隊列或信號量
5、往隊列發(fā)送信息或釋放信號量
6、獲取隊列集的消息
標(biāo)簽:
FreeRTOS筆記_ 隊列集的評論 (共 條)
