OSAL NV 區操作
2010-05-05 10:13
原創作者:【LNVI.ZHU】
讀取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 保留
ZCD_NV_EXTADDR 0x0001 64位擴充套件地址
ZCD_NV_BOOTCOUNTER 0x0002 boot計數器
(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_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_SECURITY_LEVEL 0x0061 安全等級
//ZDO層的項
ZCD_NV_USERDESC 0x0081
ZCD_NV_NWKKEY 0x0082 網路金鑰
ZCD_NV_PANID 0x0083 PAN ID
ZCD_NV_LEAVE_CTRL 0x0085 控制等級
// ZCL 層的項
ZCD_NV_SCENE_TABLE 0x0091
// Non-standard NV item IDs
ZCD_NV_SAPI_ENDPOINT 0x00A1
NLME_InitNV( 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 儲存管理表地址