微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > SensorDemo 终端节点串口接收

SensorDemo 终端节点串口接收

时间:12-22 整理:3721RD 点击:

您好,我在使用SensorDemo例程实现终端节点EndDevice与PC的串口通信时发现,EndDevice能够很好地将数据通过串口发送给PC,但是EndDevice却无法通过串口接收到PC发送来的数据。经过实验发现,通过单步调试等手段,程序能够进入串口回调函数,并能够很好地接收串口数据,但是一旦让程序自动运行后,感觉程序基本无法正常调用串口回调函数,基本上是PC重复发送好多次数据后,EndDevice才可能接收到1次数据。我比较了一下EndDevice与Coordinator的程序,发现我实现的EndDevice串口接收程序与Coordinator的串口接收程序基本没什么区别,但是Coordinator却能够很好地调用串口回调函数进行串口数据接收,而EndDevice却不行。我也尝试了在MT层中来处理串口接收任务,但是仍然无法正常及时调用串口回调函数,不知道这是为什么?非常期待您的回复!谢谢!

上面那个问题已解决!

我后来经过试验发现,如果将终端节点预定义选项中的POWER_SAVING取消掉,终端节点就能够很好地接收串口数据了。

通过搜索POWER_SAVING在程序中出现的情况,我认为上述问题可能的原因是:POWER_SAVING会导致终端节点的CPU在空闲时刻自动进入休眠模式,就无法及时探测到串口接收数据中断。

不知道这个想法对不对?期待您的回复!谢谢!

另外,如果我想让终端节点拥有休眠机制,那仍然无法回避上述问题,不知道您能不能给点意见?

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

网站地图

Top