ZigBee常見問題_第1頁
ZigBee常見問題_第2頁
ZigBee常見問題_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、乙gBee常見問題目錄1、CC2530中串口波特率改為9600時單個數據包來不及接收的解決方案2、使用串口0預編譯3、通過修改PANID實現多個網絡的共存4、zstack中發(fā)現PANID沖突的解決辦法1、CC2530中串口波特率改為9600時單個數據包來不及接收的解決方案在調試CC2530過程中發(fā)現波特率改為9600時,單個包僅有3個Byte時,接收DMA就會啟動因而數據包被強迫拆分成多個,顯然只要將接收DMA啟動延時做到足夠大即可。hal_dma.cHAL_ISR_FUNCTION(halDmaIsr,DMA_VECTOR)#ifHAL_UART_DMAif(HAL_DMA_CHECK_IR

2、Q(HAL_DMA_CH_TX)HalUARTIsrDMA();#endif/HAL_UART_DMA進入定義函數HalUARTIsrDMA();的地方,找到如下所示的地方進行修改。_hal_uart_dma.c#if(HAL_UART_DMA=1)TOC o 1-5 h z#defineHAL_UART_PERCFG_BIT0 x01#defineHAL_UART_Px_RX_TX0 x0C#defineHAL_UART_Px_RTS0 x20#defineHAL_UART_Px_CTS0 x10#else#defineHAL_UART_PERCFG_BIT0 x02#defineHAL_U

3、ART_Px_RTS0 x20#defineHAL_UART_Px_CTS0 x10#defineHAL_UART_Px_RX_TX0 xC0#endif/USART0onP0,Alt-1;soclearthisbit./PeripheralI/OSelectforRx/Tx./PeripheralI/OSelectforRTS./PeripheralI/OSelectforCTS./USART1onP1,Alt-2;sosetthisbit./PeripheralI/OSelectforRTS./PeripheralI/OSelectforCTS./PeripheralI/OSelectfo

4、rRx/Tx./Thetimeouttickisat32-kHz,somultiplymsecsby33.#defineHAL_UART_MSECS_TO_TICKS200/33經過上述修改,可在9600波特率下傳送足夠大的數據包。2、使用串口0預編譯MT_uart.cvoidMT_UartInit()#ifdefined(ZTOOL_P1)|defined(ZTOOL_P2)uartConfig.callBackFunc=MT_UartProcessZToolData;#elifdefined(ZAPP_P1)|defined(ZAPP_P2)uartConfig.callBackFunc=

5、MT_UartProcessZAppData;#elseuartConfig.callBackFunc=NULL;#endif這個是預編譯,根據預先定義的ZTOOL或者ZAPP選擇不同的數據處理函數。后面的P1和P2則是串口0和串口1。我們用ZTOOL,串口0。我們可以在optionC/C+的Compilerpreprocessor里面看到,已經默認添加ZTOOL_P1預編譯。3、通過修改PANID實現多個網絡的共存、PANID簡介PANID其全稱是PersonalAreaNetworkID,即某個網絡的標識符,是針對一個或多個應用的網絡,般是mesh或者clustertree兩種拓撲結構之一

6、。一個網絡只有一個PANID,絡中的所有節(jié)點的panID唯它是由協(xié)調器生成的,PANID是可選配置項,用來控制ZigBee路由器和終端節(jié)點要加入那個網絡。若要在應用中查看PANID,可以通過_NIB.nwkPanId讀取即可。、具體操作協(xié)議棧中的文件f8wConfg.cfg中的ZDO_CONFIG_PAN_ID參數可以設置為一個00 x3FFF之間的一個值。協(xié)調器使用這個值,作為它要啟動的網絡的PANID。而對于路由器節(jié)點和終端節(jié)點來說只要加入一個已經用這個參數配置了PANID的網絡。如果要關閉這個功能,只要將這個參數設置為0 xFFFFo要更進一步控制加入過程,需要修改ZDApp.c文件中Z

7、DO_NetworkDiscoveryConfirmCB函數?,F在分析當關閉PANID的配置功能,即令ZDAPP_CONFIG_PAN_ID為默認的0 xFFFF,那么協(xié)調器將根據自身的IEEE地址建立一個隨機的PANID(00 x3FFF),XXX經過試驗發(fā)現,這個隨機的PANID并非完全隨機,其與IEEE地址有一定的關系:要么就是IEEE地址的低16位,要么就是一個與IEEE地址低16位非常相似的值。如IEEE地址為0 x8877665544332211,PANID很有可能就是2211,或相似的值;IEEE地址為0 x8877665544337777,PANID很有可能就是3777,或其它

8、相似的值。為了便于查找與修改,這里列出Z-stack中相關部分代碼Tools下f8wConfig.cfg里面:-DZDAPP_CONFIG_PAN_ID=0 xFFFF4、zstack中發(fā)現PANID沖突的解決辦法在同一空間如果同時存在多個zigbee網絡,可能出現的一個問題就是網絡ID(PANID)沖突,這問題會導致zigbee網絡出現混亂。在zigbee2004和zigbee2006這個問題沒有解決辦法,到了zigbee2007協(xié)議有了描述,不過各廠家的解決不太一樣。就ZSTACK來說,引入了一個叫網絡管理節(jié)點的概念,通過激活網絡管理節(jié)點,可以解決PANID沖突的問題??梢园凑障聢D提示的方

9、法,添加宏NWK_MANAGER,來激活網絡管理節(jié)點。OlitioilsforjidDiegoryFactoryGelrgsC/C-k-kComplEr|IMdb-lileCDrrpiiori廠DiscardUrusecFLUjcisFrepracc斗Lanoage|Cade|OpLiniza.-liccns|OutputIgLur3iELnliirdinclude:dire:Additi4D.lincludedirctcri45:(osibperLino)Ernjr_niE?$fPMJlDLEJV.fPElOJJLEJV.V.V.UHinkri25?3DEfPSJOJ_DIEij.k.ConponeritsMi.filinclula.fPMTZDIRjVA.A.kConPoMnt=WiurettkCC25MEjdFyeincludA_JDefinadEjniliDLE(anapervjwr_srs_FuwctHeOunc!H_gjFPORTEMjEHUG酹燈心EB|Prepro匚吐mmorquipuitj廠Tinpnt.E廠(rolleralsWLin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論