KLZB214繫列SDK使用説明及LED燈的控製例子

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

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

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








粵ICP備:17007301-1號