事件標誌組
簡單來說,就是,信號量只能作爲某一件事的標誌。
消息隊列一個全局Buff,用來任務與任務之間傳輸數據,它是直接複製的數據,並不是傳回數據的指針
二值信號量就是一個盒子,裏面只能是0或1,
計數型信號量也是1個盒子,不過裏面的數可以是12345678910JQK等等,
互斥信號量是一個盒子,裏面有個鑰匙,拿走了你還得還回來;
遞歸互斥信號量,一個盒子,好多鑰匙,拿走幾個盒子心裏都有數,拿走幾個都要給我還回來。
事件標誌組就是一排盒子,每一個盒子可以作爲一個信號量的盒子。
Enm………真TM形象,我都懂了
EventBits_ t是個32位的數據類型。EventBits_ t類型的變量可以存儲24個事件位,另外的那高8位有其他用。事件位0存放在這個變量的bit0.上,變量的bit1就是事件位1,以此類推。
對於STM32來說一個事件標誌組最多可以存儲24個事件位
創建事件標誌組API:
設置事件標誌位API:
獲取事件標誌組的值得API:
等待指定事件位API:
任務通知:
發送任務通知API :
獲取任務通知API:
消息隊列:
提供向消息隊列發送消息的API函數有:
從隊列中讀取消息的API函數:
調用函數uxQueueSpacesAvailable()獲取隊列Message_ Queue的剩餘大小。
調用函數uxQueueMessages Waiting()獲取隊列當前消息數量,也就是隊列的使用量