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