每個(gè)RTOS任務(wù)都有一個(gè)32位的通知值,任務(wù)創(chuàng)建時(shí),這個(gè)值被初始化為0。RTOS任務(wù)通知相當(dāng)于直接向任務(wù)發(fā)送一個(gè)事件,接收到通知的任務(wù)可以解除阻塞狀態(tài),前提是這個(gè)阻塞事件是因等待通知而引起的。
發(fā)送通知的同時(shí),也可以可選的改變接收任務(wù)的通知值。
可以通過(guò)下列方法向接收任務(wù)更新通知: 不覆蓋接收任務(wù)的通知值 覆蓋接收任務(wù)的通知值 設(shè)置接收任務(wù)通知值的某些位 增加接收任務(wù)的通知值
一個(gè)任務(wù)可以有多個(gè)通知,一個(gè)通知都有32bit的值,和一個(gè)state是8bit,state狀態(tài)確定有沒(méi)有被處理。
我們不能對(duì)stats進(jìn)行直接的讀寫操作,是系統(tǒng)自動(dòng)的,我們只能對(duì)notification value 進(jìn)行操作。
直接任務(wù)通知是,任務(wù)A直接改變?nèi)蝿?wù)B的Notifiction的值。
設(shè)置NotifictionValue:
讀取NotifictionValue:
舉例:
審核編輯:劉清
-
FreeRTOS
+關(guān)注
關(guān)注
12文章
493瀏覽量
64393
原文標(biāo)題:FreeTRTOS 直接任務(wù)通知
文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
freertos串口接收數(shù)據(jù)后如何發(fā)送給任務(wù)?
任務(wù)通知的問(wèn)題如何解決
有什么方法可以查看FreeRTOS任務(wù)的運(yùn)行狀態(tài)呢
如何以及何時(shí)可以使用任務(wù)通知代替通信對(duì)象
使用FreeRTOS通知功能加速應(yīng)用執(zhí)行
有什么方法可以為TX隊(duì)列配置向AIOP的擁塞通知嗎?
FreeRTOS —— 9.任務(wù)通知

FreeRTOS系列第14篇---FreeRTOS任務(wù)通知

評(píng)論