//串列埠傳送接收流程main: //主函式
->osal_init_system(); //作業系統初始化
->osalinittasks(); //任務初始化
-->zdoinitdevice(0); //裝置初始化
-->osal_start_timeex(....,zdo_network_init,..) //傳送訊息
-->zdo_startdevice((uint8)zdo_config.............) //開始裝置
-->nlme_networkdiscoveryrequest() 建立網路
-->zdo_networkformationconfirmcb() //給予zdo層發聵資訊
-->osal_set_event(..,zdo_network_start)啟動網路事件 協調器
-->osal_set_event(....,zdo_state_change_evt); //設定網路狀態改變事件
-->zdo_joinconfirmcb() //終端裝置加入網路
-->osal_set_event(...,zdo_state_change_evt); //終端裝置
-->nlme_startrouterequest(0,0,false); //路由器
-->osal_set_event(...,zdo_router_start);
->osal_start_system(); //此時開始執行作業系統,不斷檢測作業系統是否有事件發生,有則跳去執行
zigbee中afincomingmsgpacket_t結構體描述的是什麼?
typedef struct
afincomingmsgpacket_t; //無線資料報格式結構體
typedef struct
osal_event_hdr_t;
// generalized msg command format
typedef struct
afmsgcommandformat_t;
halledblink(hal_led_1, 0, 50, 500); //0是閃爍次數,但是0表示的是一直閃,不是不閃,50是百分之五十,就是亮滅各一半。500是週期,就是0.5s。
建立網路、加入網路流程分析
協調器節點:在1-10 實驗8 網路通訊實驗2 組播通訊中
while(msgpkt)
路由器節點: 在1-10 實驗8 網路通訊實驗2 組播通訊中
while(msgpkt)
break;
終端節點:1-5 實驗4 串列埠通訊2
while(msgpkt)
break;
[cpp] view plain copy
typedef enum
devstates_t;
ti協議棧是半開源的,網路層**並不開源。執行於埠0的zdo負責應用層使用者程式和網路層之間的通訊。
網路層的建立過程是由zdo來實現的。網路建立後應用層會接受到zdo_state_change訊息。使用下面語句就可以讀取當前網路的狀態。
cc2530 睡眠定時器串列埠顯示
cc2530 睡眠定時器串列埠顯示 第12次次課 睡眠定時器方式喚醒 體會1 切換系統主時鐘16mhz和32mhz 體會2 當串列埠波特率比較高時候 19200 亂碼多,降低後 9600 穩定,主要是因為雙方硬體時鐘不精確 include typedef unsigned char uchar ty...
CC2530低功耗終端不停重連網路耗電問題
這幾天在玩ti的cc2530,測試其zigbee協議棧的低功耗模式,ti確實花了不少功夫在這套協議棧上以及支撐的操作的系統osal,非常好用。做了幾個簡單的配置即可進入低功耗模式,並且資料採集 通訊均正常。這個我有研究過,如果不配置dev hold,裝置會一直加網,直到有網路。如果想要裝置隔一段時間...
CC2430 串列埠使用詳解
為了完成課題,最近下定決心學習cc2430。網上的資料很多,重複的部分不做過多的介紹,沒有的部分做一下少許的補充,希望對大家有用!建議各位使用更新的cc2530,該晶元為cc2430的替代版本 全部 如下,先看一下整體!標頭檔案 include hal.h include stdio.h 函式宣告 ...