|
在自己的应用里正好需要用到数据保存,结合这个实例做了验证,发现有问题,求解。
在ZComDef.h加入要保存参数的ID号
// NV Items Reserved for applications (user applications)
// 0x0401 ?0x0FFF
#define ZCD_NV_AUTOPOLL_INTERVAL_SEC 0x0202
以下在SensorDemo---SensorEB-PRO中- void zb_BindConfirm( uint16 commandId, uint8 status )
- {
- static uint8 status1 = FALSE;
- static uint16 testint = 0x8b5a;
- static uint16 testint1 =0;
- // myReportPeriod
-
- if( status == ZB_SUCCESS )
- {
- appState = APP_REPORT;
- HalLedSet( HAL_LED_2, HAL_LED_MODE_ON );
- devResetInd();
-
- status1 = osal_nv_item_init( ZCD_NV_AUTOPOLL_INTERVAL_SEC, sizeof(testint), NULL );
- status1 = [color=SandyBrown]osal_nv_write[/color]( ZCD_NV_AUTOPOLL_INTERVAL_SEC,0, sizeof(testint), &testint );
- status1 = osal_nv_read( ZCD_NV_AUTOPOLL_INTERVAL_SEC,0, sizeof(testint1), &testint1 );
-
- 在osal_nv_read设断点查看testint1的值确实可以得到0x8b5a。
- 但是,注释掉osal_nv_write这行编译后再运行testint1得到0xffff,这样的话参数保存并没有成功。为什么?
- ...
- ...
- }
-
复制代码 |
|