系统NV区:
初始化nv数据项 osal_nv_item_init() 读取nv数据项 osal_nv_read() 写入nv数据项 osal_nv_write() 在使用osal_nv_read()或osal_nv_write()之前必须调用 osal_nv_item_init()。 函数原型: uint8 osal_nv_item_init( uint16 id, uint16 len, void *buf ) --id: NV项的ID --len: 项的长度 -- buf: 初始化项的数据,如果没有设置为NULL uint8 osal_nv_read( uint16 id, uint16 ndx, uint16 len, void *buf ) -- id: NV项的ID -- ndx: 项中的索引 -- len: 项的长度 -- buf: 项的数据 uint8 osal_nv_write( uint16 id, uint16 ndx, uint16 len, void *buf ) -- id: NV项的ID -- ndx: 项中的索引 -- len: 项的长度 -- buf: 项的数据 0x0000 保留 0x0001-0x0020 OSAL 0x0021-0x0040 NWK 0x0041-0x0060 APS 0x0061-0x0080 Sec 0x0081-0x00A0 ZDO 0x00A1-0x0200 保留 0x0201-0x0FFF APP 0x1000-0xFFFF 保留 系统已定义NV的项:
// osal 的项 ZCD_NV_EXTADDR 0x0001 64位扩展地址 ZCD_NV_BOOTCOUNTER 0x0002 boot计数器 ZCD_NV_STARTUP_OPTION 0x0003 开始的控制选项 (ZCD_STARTOPT_DEFAULT_CONFIG_STATE) (ZCD_STARTOPT_DEFAULT_NETWORK_STATE) ZCD_NV_START_DELAY 0x0004 开始延迟时间 // NWK层的项 ZCD_NV_NIB 0x0021 ZCD_NV_DEVICE_LIST 0x0022 ZCD_NV_ADDRMGR 0x0023 ZCD_NV_POLL_RATE 0x0024 轮询率 ZCD_NV_QUEUED_POLL_RATE 0x0025 队列轮询率 ZCD_NV_RESPONSE_POLL_RATE 0x0026 响应轮询率 ZCD_NV_REJOIN_POLL_RATE 0x0027 重新连接轮询率 ZCD_NV_DATA_RETRIES 0x0028 传输数据重试次数 ZCD_NV_POLL_FAILURE_RETRIES 0x0029 轮询失败重试次数 ZCD_NV_STACK_PROFILE 0x002A 使用的profile ID ZCD_NV_INDIRECT_MSG_TIMEOUT 0x002B 默认间接消息举手超时 ZCD_NV_ROUTE_EXPIRY_TIME 0x002C 路由的有效期 ZCD_NV_EXTENDED_PAN_ID 0x002D 扩展PAN ID ZCD_NV_BCAST_RETRIES 0x002E 广播参数 ZCD_NV_PASSIVE_ACK_TIMEOUT 0x002F 广播参数 ZCD_NV_BCAST_DELIVERY_TIME 0x0030 广播参数 ZCD_NV_NWK_MODE 0x0031 网络模式 ZCD_NV_CONCENTRATOR_ENABLE 0x0032 多对一的value ZCD_NV_CONCENTRATOR_DISCOVERY 0x0033 多对一的value ZCD_NV_CONCENTRATOR_RADIUS 0x0034 多对一的value ZCD_NV_MAX_SOURCE_ROUTE 0x0035 多对一的value // APS层的项 ZCD_NV_BINDING_TABLE 0x0041 绑定表 ZCD_NV_GROUP_TABLE 0x0042 组表 ZCD_NV_APS_FRAME_RETRIES 0x0043 传输失败允许传输的最大次数 ZCD_NV_APS_ACK_WAIT_DURATION 0x0044 这个数被用做轮询设备 ZCD_NV_APS_ACK_WAIT_MULTIPLIER 0x0045 这个数被用做非轮询设备 ZCD_NV_BINDING_TIME 0x0046 终端设备绑定时间数 // 安全层的项 ZCD_NV_SECURITY_LEVEL 0x0061 安全等级 ZCD_NV_PRECFGKEY 0x0062 预先配置的安全密钥 ZCD_NV_PRECFGKEYS_ENABLE 0x0063 密钥配置为整个网络还是协调器 //ZDO层的项 ZCD_NV_USERDESC 0x0081 ZCD_NV_NWKKEY 0x0082 网络密钥 ZCD_NV_PANID 0x0083 PAN ID ZCD_NV_CHANLIST 0x0084 默认的信道列表 ZCD_NV_LEAVE_CTRL 0x0085 控制等级 ZCD_NV_SCAN_DURATION 0x0086 默认开始扫描的期限 ZCD_NV_LOGICAL_TYPE 0x0087 逻辑设备类型 // ZCL 层的项 ZCD_NV_SCENE_TABLE 0x0091 // Non-standard NV item IDs ZCD_NV_SAPI_ENDPOINT 0x00A1 用户自定义NV项:
为用户保留的NV项目号从 0x0201 --- 0x0FFF 原语操作NV:
1、 初始化 byte NLME_InitNV( void ) 2、 设置默认的NIB,设备表,绑定表 void NLME_SetDefaultNV( void ) 3、 从NV中恢复网络存储器项 byte NLME_RestoreFromNV( void ) 4、 把NIB写入到NV中 void NLME_UpdateNV( byte enables ) --NWK_NV_NIB_ENABLE 0x01 保存网络NIB --NWK_NV_DEVICELIST_ENABLE 0x02 保存设备列表 --NWK_NV_BINDING_ENABLE 0x04 保存绑定表 --NWK_NV_ADDRMGR_ENABLE 0x08 保存管理表地址
|