在使能HOLD_AUTO_START情况下,由于一直没有组网成功,协议栈默认始终不进入低功耗(pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON ),这与我实际的应用不相符,我想要在HOLD_AUTO_START使能的情况下,程序也能正常休眠,但我发现在程序的其他地方调用osal_pwrmgr_device( PWRMGR_BATTERY );都会导致我的串口读写数据出错,请问是为何?
YiKai Chen:
调用osal_pwrmgr_device( PWRMGR_BATTERY )会讓CC2530進入休眠导致串口無法读取数据
user5281211:
回复 YiKai Chen:
那么请问怎么在没有入网的情况下正常进入低功耗了
YiKai Chen:
回复 user5281211:
就是调用osal_pwrmgr_device( PWRMGR_BATTERY )就可以
Alvin Chen:
回复 YiKai Chen:
低功耗用UART要用流控去做interrupt 打断睡眠.
user5281211:
回复 YiKai Chen:
按照您说的方法是可行的,即在没有入网的情况下正常进入低功耗,但我发现,这个时候next = osal_next_timeout();返回的值都很小,导致低功耗很快就结束了,几乎没有达到低功耗的功能,但只要一入网成功ext = osal_next_timeout();返回的值就都是正常的了。请问这是为何?
YiKai Chen:
回复 user5281211:
建議你調試一下看看是什麼事件一直在重複發生