微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > Z-Stack在SystemReset()函数之后串口无法使用,怎么解决这个问题?

Z-Stack在SystemReset()函数之后串口无法使用,怎么解决这个问题?

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

RT,我用的Z-Stack版本是2.5.1a,现在的应用场景是从串口读出数据然后串口要返回对应的字符串,现在别的情况下正常,但是跑过了SystemReset()函数之后,就没有返回信息了,但是用仿真器Reset一下又能输出正常值了,请问这个问题应该如何解决?还有就是在IAREW 6.0里面,跑过了SystemReset()函数之后,暂停都是停在这个函数上,原来的断点都不能用了,这个有什么解决的办法吗?

还有一个问题:SystemReset()用的是看门狗重启,函数描述是说从函数最开始的地方重新开始,这个与用仿真器Reset有什么区别呢?

Zstack的重启一般分为以下几种:

1)SystemReset

这种重启的机制是关闭中断并死循环,然后WatchDog超时,从而导致的重启即“硬重启”。

2)SystemResetSoft

这种重启将PC指针重置为0,也就是上电时代码启动的位置,即“软重启”。

3)ZDO_DEVICE_RESET

除了函数调用式的重启之外,还有消息式的重启。消息处理最终调用SystemResetSoft实现重启。

我用的是Z-Stack 2.5.1a,在这个版本里面似乎没有SystemResetSoft?ZDO_DEVICE_RESET调用的也是SystemReset。

还有就是SystemReset跟拉低RST引脚电平重启有啥区别?

对了,这个版本的Z-Stack里面有个zb_SystemReset,这又与前面几个有什么区别?

还有就是我的问题(SystemReset之后串口无法使用,而且IAR的断点也用不了,暂停就会停在SystemReset上)应该如何解决?

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

网站地图

Top