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

KLZB214SDK3.2-API說明

2018-03-29 10:25:00
kelanelec_admin
原創
7536

ZB214SDK3.2-API說明

修改日期2017.09.07

支持的數據類型

char

8位無符號

int8

8位有符號,signed   char

uint8

8位無符號,unsigned char

int16

16位有符號,signed   short

uint16

16位無符號,unsigned short

int32

32位有符號,signed   long

uint32

32位無符號,unsigned long

1 系統配置(以下函數只能在任務初始化中使用,否則會造成系統崩潰)

void AppDisableUART_Api(void);

函數功能:禁止串口,在用戶任務初始化中使用,調用之后,模塊正常工作后串口將失效

void AppDisableNetWorkManage(void);

函數功能:禁止網絡管理

調用之后,協調器默認開通授權任何嘗試加入的設備進入

void AppNetWorkManage_DisableMacAuth(void);

函數功能:使能網絡管理但禁止設備單獨MAC單獨允許入網功能

在用戶任務初始化中使用,僅協調器有效

備注:在配置文件使能了網絡管理之后,默認是需要MAC單獨允許的,但

      調用此函數之后只有授權功能,不支持設備單獨允許入網(允許授權后,所有設備均可以入網)

如配置文件中沒有使能網絡管理,調用此函數后會使能網絡管理功能

void AppEableNetWorkManage2(void);

函數功能:使能網絡管理模式2

在用戶任務初始化中使用,此Api僅協調器有效,通常用戶不需要調用,配置文件配置即可

備注:此模式除了擁有授權功能外,還支持設備單獨允許入網(可串口指令或api添加允許設備列表)

void AppZstackConfigBase_Api(uint8 device_type,  uint16 panID,

uint8 channel,  uint8* mass);

函數功能:網絡參數配置

panID: 0000-FFFF      channel:11-26,FF:scan channel

device_type:0,COORDINATOR   1, ROUTER   2, ENDDEVICE

mass: point to 16bytes data buffer, is no,set 'NULL'

void AppZstackLowCongigZigBee_Api(ZSTACK_PARA_ITEM item, void *value);

函數功能:zigbee底層參數配置

參看ZSTACK_PARA_ITEM

void AppPowerOnNetWorkStartMode_Api(uint8 start_mode);

函數功能:上電網絡啟動模式

start_mode =0: 不管網絡狀態如何,都禁止開始/恢復網絡

start_mode =1: 不管網絡狀態如何,立即開始/恢復網絡

start_mode =2: 如果已經入網或者已經構建網絡的設備,則直接恢復網絡。如果沒有入網(對路由器和終端)或者沒有構建好網絡(對協調器),則不進行初始化網絡(等待用戶命令)

void AppSetScanDuration_Api(uint8 duration);

函數功能:設置掃描時持續的時間(0-14)

數值越小,入網越快,但功耗越大。

默認:5

144分鐘

132分鐘

121分鐘

1130

1015

9 7.5

8 4

7 2

6 1

5 480毫秒

4 240毫秒

3 120毫秒

2 60毫秒

1 30毫秒

0 15毫秒


2 常用函數(動態函數,隨時可以調用)

void AppSetJoinCycle_Api(uint16 time);

函數功能:設置加入速度設置(100-60000)

默認:200

速度越小,入網越快,但功耗越大

void AppClearNetWork_Api(void);

函數功能:清除網絡,執行之后會清除之前的網絡并重啟。

void AppResetSystem_Api(void);

函數功能:重啟

uint16 AppReadPanID_Api(void);

函數功能:讀取網絡PANID,如果未加入到網絡或建立網絡,值為FFFEh

uint16 AppReadShortAddr_Api(void);

函數功能:讀取短地址,如果未加入到網絡或建立網絡,值為FFFEh

void AppReadMacAddress_Api(uint8 *mac_addr);

函數功能:讀取8字節MAC地址,參數是放置MAC地址的緩存首地址

uint8 AppReadChannel_Api(void);

函數功能:讀取當前信道,如果未加入到網絡或建立網絡,則返回0

devStates_t AppReadDeviceState_Api(void);

函數功能:獲取設備狀態,返回含義請看devStates_t結構類型

int8 AppReadTemperature_Api(void);

函數功能:讀取芯片溫度(有符號)

uint8 AppReadVcc_Api(void);

函數功能:讀取芯片VCC電壓

uint8 AppGetRand_Api(void);

函數功能:或取8位隨機數

uint16 AppGetRand16bit_Api(void);

函數功能:獲取16位隨機數

uint16 AppAdcRead_Api ( uint8 channel, uint8 resolution );

函數功能:讀取ADC轉換值

channel:轉換的通道,HAL_ADC_CHANNEL_0 --- HAL_ADC_CHANNEL_7

resolution:有效位,HAL_ADC_RESOLUTION_8 (8)

HAL_ADC_RESOLUTION_10 (10)

HAL_ADC_RESOLUTION_12 (12)

HAL_ADC_RESOLUTION_14 (14)

void AppAdcSetReference_Api ( uint8 reference );

函數功能:設置ADC參考電壓

referenceHAL_ADC_REF_125V,內部1.25V電壓

HAL_ADC_REF_AIN7,通道7端口(P0_7)作為參考電壓

HAL_ADC_REF_AVDD,供電電壓(VCC)

uint8 AppReadProductInfo_Api(uint8 *s, uint8 len);

函數功能:讀取產品信息

s:字符串緩存指針

len:讀取的大小,最大64個字節,如果不知道大小,直接寫64

返回:讀取到的字節,如果返回0,則讀取不成功或不存在產品信息

void AppUartSend_Api(uint8 *dat, uint8 len);

函數功能:串口發送

dat:數據緩存指針

len:數據的大小

void AppUartSend_debug(uint8 *dat);

函數功能:串口發送字符串,可以用來調試打印


3 數據傳輸類

void app_send_dat_extern(uint8 *buf, uint8 len);

函數功能:無線發送數據

buf: 數據的首地址

len:數據的長度

uint8 app_set_send_addr(uint8 addr_type, uint8 *addr);

函數功能:設置發送地址

設置之后有10秒的有效期,10秒過后會恢復到上電默認

上電默認(addr_type=01,協調器廣播,路由器和終端發給協調器)

addr_type: 01,短地址方式,不使能應答,addr為目的短地址

addr_type: 11,短地址方式,使能應答,addr為目的短地址

addr_type: 02,MAC地址方式,不使能應答,addr為目的MAC地址

addr_type: 12,MAC地址方式,使能應答,addr為目的MAC地址

void user_app_rf_data_process_CB(afAddrType_t *srcAddr,

uint8 *dat,

uint8 dat_len)

函數功能:無線數據接收

注意,此函數為CALLBACK函數,無線接收到數據后將會調用此函數

srcAddr:源地址,發送對方地址

dat:數據首地址

dat_len:數據的長度


4 網絡管理類

void AppContinueScanNetWork_Api(void);

函數功能:啟動掃描

執行此函數后,只開啟掃描功能,但不會立即掃描。

如果開啟之后,設備由入網狀態變成掉網,會重新自動掃描網絡

void AppContinueScanNetWorkAndStart_Api(void);

函數功能:啟動掃描網絡

如果設備未入網或者掉網狀態,執行此函數后會自動進行掃描網絡

如果設備已經入網,執行此函數無效

void AppStopScanNetWork_Api(void);

函數功能:禁止掃描網絡

如果設備未入網或者掉網狀態,執行此函數后會終止進行掃描網絡

如果設備已經入網,執行此函數后,即使突然掉網也不再掃描網絡,將保持在掉網狀態

void AppStartNewNetWork_Api(void)

函數功能:啟動掃描新的網絡

不管設備當前網絡狀態如何,執行此函數之后都將掃描新的網絡,

AppClearNetWork_Api功能類似,不同在于不會重啟設備。

void App_MgrPermitJoining_Api(uint8 timeout);

函數功能:設置設備入網允許通道,僅對協調器有效

timeout0,關閉入網申請通道

timeout0xff,打開入網申請通道

void App_addValid_Device_Api(uint8 *DeviceMac);

函數功能:添加允許授權設備

DeviceMac8byte,設備MAC地址

void App_DiscValidDeviceList_Api(void);

函數功能:清空允許授權設備列表

void App_Leave_Device1_Api(uint8 rejoin);

函數功能:離開網絡:自身

rejoin0,離開后重啟之前不加入任何網絡

rejoin1,離開后會重新掃描周圍網絡并嘗試加入

void App_Leave_Device2_Api(uint8 rejoin,  uint16 devictShortAdd,

uint8 *deviceMac);

函數功能:離開網絡:其它設備

rejoin0,離開后重啟之前不加入任何網絡

rejoin1,離開后會重新掃描周圍網絡并嘗試加入

devictShortAdd:離開設備的短地址,不清楚地址,可以設置為0xFFFF

deviceMac 離開設備的MAC地址


5 操作系統常用函數

uint8 osal_set_event( uint8 task_id, uint16 event_id);

函數功能:設置事件

task_id:對應的任務ID

event_id:事件ID

uint8 osal_clear_event ( uint8 task_id, uint16 event_id);

函數功能:清除事件

task_id:對應的任務ID

event_id:事件ID

uint8 osal_start_timerEx ( uint8 task_id, uint16 event_id, uint16 timeout_value);

函數功能:開始一個定時事件

task_id:對應的任務ID

event_id:事件ID

timeout_value:到期時間,單位毫秒

uint8 osal_stop_timerEx ( uint8 task_id, uint16 event_id);

函數功能:停止一個定時事件

task_id:對應的任務ID

event_id:事件ID

void *osal_mem_alloc( uint16 size )

函數功能:申請動態內存

size:內存大小

返回:內存指針

void osal_mem_free(void *ptr)

函數功能:釋放動態內存(一般跟osal_mem_alloc函數配套使用)

ptr:內存指針(申請時返回的指針值)

uint8 osal_nv_item_init( uint16 id, uint16 len, void *buf )

函數功能:初始化一個NV(掉電不丟失)條目

id:條目ID,共16個可以用,范圍0x5f0~0x5ff,禁止使用其它ID,否則會造成不可預知的錯誤。

len:數據長度(最大16個字節)

buf:初始化NV值,寫NULL,表示不進行初始化

uint8 osal_nv_read( uint16 id, uint16 offset, uint16 len, void *buf );

函數功能:度一個NV(掉電不丟失)條目

id:條目ID,共16個可以用,范圍0x5f0~0x5ff,禁止使用其它ID,否則會造成不可預知的錯誤。使用之前,請先在user_app_Init函數中初始NV條目。

offset:偏移

len:讀入的大小(不能大于初始化時條目的長度)

buf:指向讀取緩存

uint8 osal_nv_write( uint16 id, uint16 offset, uint16 len, void *buf )

函數功能:寫一個NV(掉電不丟失)條目

id:條目ID,共16個可以用,范圍0x5f0~0x5ff,禁止使用其它ID,否則會造成不可預知的錯誤。使用之前,請先在user_app_Init函數中初始NV條目。

offset:偏移

len:寫入的大小(不能大于初始化時條目的長度)

buf:指向寫入數值的緩存

6 臨界函數

使用臨界保護,需要先在函數開頭定義halIntState_t變量halIntState

定義方法:halIntState_t halIntState;

HAL_ENTER_CRITICAL_SECTION(halIntState)

函數功能:進入臨界保護(執行后不會被中斷)

HAL_EXIT_CRITICAL_SECTION (halIntState)

函數功能:退出臨界保護


7 端口配置

注意:

端口可配置成通用IO或者模擬輸入,系統未使用的IO(根據用戶配置頭文件),上電默認都是通用IO

配置流程:

第一步  配置通用IO還是模擬輸入(作為通用IO口時,由于上電默認,可以省去)

第二步  配置輸入還是輸出端口(模擬輸入時可以省去)

第三步  配置中斷功能(模擬輸入和通用IO輸出時可以省去)

KL_HAL_ENABLE_CHANNEL_ADC(channel)

端口開啟ADC功能,只有P0口支持ADC

channel0~7 0對應通道0,端口為P0_0,以此類推

KL_HAL_DISABLE_CHANNEL_ADC (channel)

端口關閉ADC功能(上電默認是關閉狀態)

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