就是這個Peripheral_TaskID我看不明白如下
在這個函數(shù)中,我的理解是給你自己定義的任務分配一個id,用來表示優(yōu)先級把,前邊的老大哥都排好順序了,現(xiàn)在開始給你自己的任務編個號,但是我不知道這個號具體有啥用,
然后
在這個函數(shù)中有好多這個id,但是這個id也不是函數(shù)傳進來的id,很明顯這是個全局變量,然后我想要找這個TaskID是在哪里改變他的值的,就是在死循環(huán)里邊那個地方改變他的值,從而分別出來要執(zhí)行哪個事件,后來我發(fā)現(xiàn)死循環(huán)函數(shù)TMOS_SystemProcess()打不開,然后我就想起來我之前用的Zigbee協(xié)議棧,感覺跟這個藍牙協(xié)議棧一樣相似,然后就去看了Zigbee協(xié)議棧
相對應的大概就是這個函數(shù)了,他是跟距任務id從零開始依次遞加,然后判斷這個任務有沒有被置1,置1的話說明這個事件被觸發(fā)了,需要處理這個事件了,
我們不妨直接移動到這個觸發(fā)的事件里
發(fā)現(xiàn)他確實是根據(jù)id找的任務,而這個圖中的SampleApp_ProcessEvent這個函數(shù)對應的也是藍牙協(xié)議中的Peripheral_ProcessEvent函數(shù),但是這個時候我就有個疑問,如果在Peripheral_ProcessEvent函數(shù)里邊我們自己定義不止一個事件,每個事件都分配一個id,那么這個id的值肯定比上邊這個圖里邊的taskArr數(shù)組里邊定義的這些個數(shù)大,也就是說超出了這個數(shù)組的范圍,
越說越亂了,反正我就是不懂Peripheral_TaskID
這個函數(shù)里邊明明每個事件ID不同,他還要寫ID,還有就是既然有每個事件定義的下邊這個東西,為啥還要id,直接按順序?qū)懩莻€初始化的函數(shù)不就行了,俺不理解
求大佬指點