微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > NV_RESTORE不能保存网络参数问题?

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

时间:10-02 整理:3721RD 点击:

协议栈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事件,所以存不上,请教如何才能查出什么原因事件未传递么?

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

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

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

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

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

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

 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top