<tr id="eeotw"></tr>
    <dd id="eeotw"></dd>
        <dd id="eeotw"></dd>
        1. <sub id="eeotw"><code id="eeotw"></code></sub>
          1. <nav id="eeotw"></nav><nav id="eeotw"><listing id="eeotw"></listing></nav>

            KLZB214SDK3.2-API說明

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

            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功能(上電默認是關閉狀態)

            發表評論
            評論通過審核后顯示。
            思思99re66热这里只有精品_国语对白刺激精品视频_免费观看天天看高清影视在线_国产亚洲中文字幕久久网,&9中文字幕-2019亚洲男人天堂天堂-很很鲁在线观看-首页#