求助:
目前使用的是mesh 1.0.0 协议栈,已经设置为低功耗模式,进入pm3后,测得电流大约0.4uA一下。通过P0_1下降沿触发唤醒。
唤醒后,直接设置P1_0的led可以正常显示。但是串口不能正常通信。
现象是通过串口发送的数据,只有前两三个字节正常,后面的都是错误。这个用逻辑分析仪看过,确实是数据格式都错误了,并不是串口数据错误。
通过串口接收数据也不正常,要收到很多数据后,串口接收才会调用CallBack函数。而且看过接收的数据明显是缺少了前面一部分的。
另外,也测试过pm2模式,轮询时间是1秒。也不能正常收发数据,跟上面的现象类似。
求助各位,不知道是哪里出的问题,应该怎样查?
Viki Shi:
低功耗模式下晶振关闭,唤醒后需要等待一段时间才能稳定,你加段延时看看
Xu Wang2:
回复 Viki Shi:
后来加延时测试了下,发送数据可以正常了,但是接收串口数据还是同样的现象。
YiKai Chen:
回复 Xu Wang2:
唤醒后重新設置串口試試
Xu Wang2:
回复 YiKai Chen:
试过,也是同样的现象。
我觉得还是没有真正进入正常的工作状态。
中断唤醒后,直接在KEY_CHANGE处理中,设置了一个定时器。并且在定时器事件处理中也是循环设置定时器。
然后就是串口的相关操作。总是不正常,串口接收数据始终少了很多。
YiKai Chen:
回复 Xu Wang2:
串口接收数据時有沒有維持CC2530是一直在唤醒的狀態?
Xu Wang2:
回复 YiKai Chen:
这好像是个问题。这个要怎样维持?
TI中文支持网