TI中文支持网
TI专业的中文技术问题搜集分享网站

NV_RESTORE不能保存网络参数问题?

协议栈2.5.1a

现象:宏定义已经定义,但是不保存参数,每次初始化读出的nv数据都是空,进入新入网流程。

仿真过程:当组网获得panID等信息时,仿真查看调用一函数

void ZDApp_NVUpdate( void )
{
#if defined ( NV_RESTORE )
osal_start_timerEx( ZDAppTaskID, ZDO_NWK_UPDATE_NV, ZDAPP_UPDATE_NWK_NV_TIME );
#endif
}

延时触发了ZDO_NWK_UPDATE_NV事件,在此事件中就存储了NV数据。

我仿真每次我都能进入ZDApp_NVUpdate函数,开启定时器。但是ZDApp_event_loop中收不到ZDO_NWK_UPDATE_NV事件,所以存不上,请教如何才能查出什么原因事件未传递么?

gaoyang9992006:

在这个预编译内设置一个LED的翻转指令,看看编译运行后进入到这个内没有,通过这种方式逐层深入判断。

da che:

回复 gaoyang9992006:

设置断点查看,已经执行了此延时触发函数,但是定时器好像停止了,永远也达不到计数值,所以不触发事件。不清楚怎么回事。

da che:

问题原因找到了,但是不知道为什么,请高手赐教!

问题原因:因在调试过程中,把UART改成了ISR模式,修改了DMA的使能,结果UART好用了,但是组网不保存。

解决方法:再次使能DMA,组网保存了。

带来的问题:什么原因必须使用DMA才能保存网络参数?如果UART我解决不了大数据量问题,只能使用ISR方式,怎么才能让两个同时好用?

 

赞(0)
未经允许不得转载:TI中文支持网 » NV_RESTORE不能保存网络参数问题?
分享到: 更多 (0)