zigbee之SampleApp_ProcessEvent()
我們修改程式碼主要是在SampleApp.c這個資料夾下面,
SampleApp_ProcessEvent() 使用者應用任務的事件處理函式 下面有兩個系統訊息
訊息一SYS_EVENT_MSG 普通的事件
if ( events & SYS_EVENT_MSG ) //接收系統訊息再進行判斷
//接收屬於本應用任務 SampleApp的訊息,以 SampleApp_TaskID標記
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );
case KEY_CHANGE://按鍵事件
SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );
case AF_INCOMING_MSG_CMD: //接收資料事件,呼叫函式 AF_DataRequest()接收資料
SampleApp_MessageMSGCB( MSGpkt ); //呼叫回撥函式對收到的資料進行處理
case ZDO_STATE_CHANGE: //只要網路狀態發生改變,就通過 ZDO_STATE_CHANGE 事
件通知所有的任務。同時完成對協調器,路由器,終端的設定
注意:ZDO_STATE_CHANGE只有當裝置網路發生改變後才會觸發,所以在此處可做一些
初始化工作;如果網路一直連線的就不會再次進入這個函式了,只執行1次。
/*初始化定時事件,就是設定傳送週期性事件*/
uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value )
//osal_start_timerEx三個引數決定著週期性傳送資料的,timeout_value間隔時間ms,時間到
//才呼叫SampleApp_SendPeriodicMessage();
//判斷SAMPLEAPP_SEND_PERIODIC_MSG_EVT有沒有發生,如果有的就執行下面函式
系統訊息二SAMPLEAPP_SEND_PERIODIC_MSG_EVT// Send a message out - This event is generated by a timer
if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT )//時間到了,就觸發這個系統訊息,然後呼叫傳送周期函式
void SampleApp_SendPeriodicMessage( void )//週期傳送函式
{
呼叫afStatus_t AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP,
uint16 cID, uint16 len, uint8 *buf, uint8 *transID,
uint8 options, uint8 radius )
}
void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )//接受函式
void SampleApp_SendPeriodicMessage( void )//週期傳送函式
SampleApp_SendFlashMessage(0); //發資料
呼叫 zb_BindDeviceRequest( )函式可以建立一個繫結條目
SampleApp_ProcessEvent() 使用者應用任務的事件處理函式 下面有兩個系統訊息
訊息一SYS_EVENT_MSG 普通的事件
if ( events & SYS_EVENT_MSG ) //接收系統訊息再進行判斷
//接收屬於本應用任務 SampleApp的訊息,以 SampleApp_TaskID標記
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );
case KEY_CHANGE://按鍵事件
SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );
case AF_INCOMING_MSG_CMD: //接收資料事件,呼叫函式 AF_DataRequest()接收資料
SampleApp_MessageMSGCB( MSGpkt ); //呼叫回撥函式對收到的資料進行處理
case ZDO_STATE_CHANGE: //只要網路狀態發生改變,就通過 ZDO_STATE_CHANGE 事
件通知所有的任務。同時完成對協調器,路由器,終端的設定
注意:ZDO_STATE_CHANGE只有當裝置網路發生改變後才會觸發,所以在此處可做一些
初始化工作;如果網路一直連線的就不會再次進入這個函式了,只執行1次。
/*初始化定時事件,就是設定傳送週期性事件*/
uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value )
//osal_start_timerEx三個引數決定著週期性傳送資料的,timeout_value間隔時間ms,時間到
//才呼叫SampleApp_SendPeriodicMessage();
//判斷SAMPLEAPP_SEND_PERIODIC_MSG_EVT有沒有發生,如果有的就執行下面函式
系統訊息二SAMPLEAPP_SEND_PERIODIC_MSG_EVT// Send a message out - This event is generated by a timer
if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT )//時間到了,就觸發這個系統訊息,然後呼叫傳送周期函式
void SampleApp_SendPeriodicMessage( void )//週期傳送函式
{
呼叫afStatus_t AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP,
uint16 cID, uint16 len, uint8 *buf, uint8 *transID,
uint8 options, uint8 radius )
}
void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )//接受函式
void SampleApp_SendPeriodicMessage( void )//週期傳送函式
SampleApp_SendFlashMessage(0); //發資料
呼叫 zb_BindDeviceRequest( )函式可以建立一個繫結條目
相關文章
- Zigbee
- Zigbee事件事件
- Zigbee學習(一)之新建Zstack協議棧工程協議
- zigbee 介紹
- [ZigBee] 15、Zigbee協議棧應用(一)——Zigbee協議棧介紹及簡單例子(長文,OSAL及Zigbee入門知識)...協議單例
- zigbee路由知識路由
- zigbee協議的缺點 zigbee的主要應用領域協議
- Zigbee解析: NWK層作用
- 智慧燈控(基於ZigBee)
- 二、zigbee裸機程式--按鍵
- ZigBee協議棧Zstack介紹協議
- 手把手教你如何通過CC2531抓取Zigbee包,並解析加密Zigbee包加密
- 無線感測器網路ZigBee與Z-Wave的標準之爭
- 【Zigbee精華教程01】Zigbee無線組網技術入門建議與學習路線
- zigbee協議棧OSAL執行原理-----個人理解協議
- Zigbee新技術加快智慧家居領域步伐
- zigbee無線傳播的例子 應用層
- zigbee開發,低功耗,通訊加密開發加密
- CC2530 ZigBee協議棧 學習心得協議
- ZigBee ZStack 協議棧學習--架構分析篇協議架構
- Arduino開源智慧家居DIY,閘道器教程(ZigBee)UI
- Zigbee技術開發一 設定NV_RESTOREREST
- LLM-文心一言:Zigbee、LoRaWAN、NB-IoT
- Zigbee電動智慧窗簾系統理想解決方案
- 基於ZigBee的物聯網家居系統學習
- 利用wireshark對zigbee及6lowpan進行抓包分析
- 阿里巴巴YunOS加入物聯網標準組織ZigBee聯盟阿里
- 物聯網時代三劍客,藍芽5.0/WiFiHaLow/ZigBee將如何發力?藍芽WiFi
- ZigBee 擴充套件 PAN [EPID] 的目的及其與 16 位 PAN ID [PID] 的區別。套件
- 【雲隱】TI CC2530 Zigbee協議棧開發的七大深坑,歡迎來跨~協議
- 【Zigbee精華教程02】一圖讀懂ZStack協議棧的核心思想與工作機理協議
- ZigBee(CC2530)(02)開發平臺的搭建-工程設定-下載模擬除錯除錯
- 《Zigbee無線網路技術的智慧家電控制系統》閱讀2014.3.30
- 【Zigbee技術入門教程-02】一圖讀懂ZStack協議棧的核心思想與工作機理協議
- 手把手帶你使用EFR32 -- 土壤溼度感測器變身第二形態,以 ZigBee 形態出擊
- 手把手帶你使用ZigBee——通過愛智控制EFR32,以及 Simplicity Studio 使用過程中注意事項
- 【無線通訊篇 | Zstack協議棧】CC2530 Zigbee Zstack協議棧組網專案及詳細講解篇協議
- 痞子衡嵌入式:一表全蒐羅常見短距離無線通訊協議(Wi-Fi/Bluetooth/ZigBee/Thread...)協議thread