国产视频一区二区在线观看|亚洲欧美日韩另类小说|国产日产亚洲精品|91精彩视频|亚洲男人的天堂久久香蕉网

KLZB214系列SDK使用說明及LED燈的控制例子

2018-03-30 09:14:00
kelanelec_admin
原創
8582

ZB214SDK3.2-使用說明

ZB214SDK3.2使用IAR for 8051 8.10.3開發環境

第一步:準備工作

1. 打開工程:

KLZB214serial - SDK\Projects\zstack\klzb214serial\Code\SDK\klzb214.eww

2. 工程下拉列表中選擇對應模塊的型號:比如KLZB214A(紅色低功耗款)


3. 打開應用文件夾:

user_app.cuser_app.h:用戶應用文件

app_api.c:基本不需要修改,如果用到端口中斷,中斷服務函數在這個文檔

user_ZBconfig.h:模塊配置文件

除系統自帶,如有需要,可自行創建文件


第二步:配置模塊,以下配置出廠通用zigbee轉串口為例,如圖所示

配置含義請看程序注解,禁止默寫功能,可以騰出IO口供APP使用,比如禁止KL_CMDCONFIG_IN后,看騰出一個CMD_EN端口出來。



第三步:認識框架中的重要APP函數

user_app_Init:用于初始化APP任務,除框架自帶,還可以將硬件初始化等放在這里。系統會在模塊上電后調用此函數。



       user_app_eventAPP事務處理函數,當有事件時,系統會觸發該函數。比如按鍵按下時,會觸發一個SYS_EVENT_MSG事件,事件內容為KEY_CHANGE,從而會執行user_app_HandleKeys函數。



user_app_Netstate_Change_CB:網絡狀態改變后會系統調用此函數


user_app_rf_data_process_CB:接收到無線數據后會系統調用此函數


app_user_key_poll:按鍵掃描,端口中斷觸發后系統會調用此函數(請參考例程編寫)

user_app_HandleKeys:按鍵處理,用于在user_app_event觸發事件后調用


其它子函數app_user_send_key:用在app_user_key_poll(請參考例程編寫)

APP實現案例:入網后實現一個LED燈一秒鐘閃爍

使用模塊KLZB214A為例

LED端口使用P04(PIN2)低電平有效

第一步:定義LED翻轉事件

user_app.h中,定義事件宏定義:#define APP_LED_TGL_EVT   0x0001

注意事件名稱可隨意

注意0x0001為事件值,由于系統規定,任務的每一種事件都需要一位表示,而最高位固定是系統事件(0x8000),所以APP任務中,可定義的事件范圍是0x0001~0x4000,共15個。

第二步:LED翻轉事件添加到APP任務中(user_app_event)

這里要注意,定義的其它事件也一樣,格式要一致。

第三步:將CMD_EN(KLZB214A中為P0_4)端口騰出來驅動LED

user_ZBconfig.h中將KL_CMDCONFIG_IN定義為FALSE

第四步:LED端口硬件初始化

       user_app.c中的函數user_app_Init加入程序:

KL_HAL_CFG_PORT_OUTPUT(0, 4, 1);

       其中,0,4P0_41為初始化后端口為高電平(開機不點亮)



第五步:LED翻轉觸發

       user_app.c中函數user_app_event事件APP_LED_TGL_EVT添加程序:



第六步:入網后觸發LED翻轉事件

       uer_app.cuser_app_Netstate_Change_CB函數中添加程序:


第七步:保存后編譯


第八步:打開鏡像路徑:

KLZB214serial - SDK\Projects\zstack\klzb214serial\Code\SDK\KLZB214A_SDK\Exe

打開燒入軟件,拖入固件:






發表評論
評論通過審核后顯示。