在CC2430上使終端設(shè)備依據(jù)特定的PAN ID入網(wǎng)
3 解決方法和實(shí)際代碼
對(duì)剛才提及的代碼段,增加終端對(duì)返回的網(wǎng)絡(luò)信息描述結(jié)構(gòu)的查詢(xún)。
在ZDApp.c中修改ZDApp_event_loop()函數(shù),在調(diào)用ZDO_StartDevice(…)之前,亦即在終端設(shè)備掃描網(wǎng)絡(luò)和請(qǐng)求入網(wǎng)前增加一段代碼。當(dāng)終端和協(xié)調(diào)器PAN ID不同,并且是再繼續(xù)模式時(shí),重新搜索是否有與PAN ID相同的協(xié)調(diào)器,而不請(qǐng)求人網(wǎng)。
這樣就使得終端有協(xié)調(diào)器可挑選了。
關(guān)于如何修改PAN ID,給出代碼如下(該代碼為協(xié)調(diào)器和終端通用的。_NIB是和網(wǎng)絡(luò)相關(guān)的全局結(jié)構(gòu)體):
另外非協(xié)調(diào)器設(shè)備在初始化時(shí),應(yīng)該增加如下的代碼(gu16RecBuffLen為自定義的16位整型數(shù)):
通過(guò)對(duì)掃描網(wǎng)絡(luò)結(jié)果處理函數(shù)的分析,研究掃描網(wǎng)絡(luò)和請(qǐng)求人網(wǎng)前的程序段。在程序段中增加一個(gè)對(duì)終端是否檢索到特定PAN ID的協(xié)調(diào)器的邏輯變量。最后在程序中增加未檢索到特定PAN ID的協(xié)調(diào)器時(shí)不請(qǐng)求入網(wǎng)的代碼,以達(dá)到終端選擇協(xié)調(diào)器入網(wǎng)的目的。經(jīng)實(shí)驗(yàn),在現(xiàn)場(chǎng)有數(shù)個(gè)不同PAN ID的協(xié)調(diào)器的情況下,終端設(shè)備只加入特定的協(xié)調(diào)器。
評(píng)論