请教,有关2541的低功耗控制,与串口应用的关系
时间:10-02
整理:3721RD
点击:
大家都知道,使用串口需要用到晶振,需要关闭低功耗
问题1
发串口命令的时候,因为是在一个定时任务内进行的(任务中还有其他事情),是不是说此刻已经退出低功耗、退出睡眠了?不用调用osal_pwrmgr_device(PWRMGR_ALWAYS_ON);,来手动退出了吧
问题2
在接收串口命令的时候,其他设备会先来个IO中断,我在中断中调用osal_pwrmgr_device(PWRMGR_ALWAYS_ON);,是不是会立即退出低功耗了,还是要等所有的任务一轮回,在判断是否进入睡眠的时候才真正推出低功耗?
1.下面的例子有带低功耗管理的串口实现,可以借鉴
http://processors.wiki.ti.com/index.php/SerialBLEbridge_V_1.4.1
Q1: 如果你的定时器调用的是osal的timer. 是不需要你去调用osal_pwrmgr_device(PWRMGR_ALWAYS_ON)的。定时器未超时前会自己进入低功耗。
Q2: 参考上面例子的实现。 通常每个中断程序最后会调用CLEAR_SLEEP_MODE(); 这个就确保你不会进入睡眠了,不需要调用osal_pwrmgr_device(PWRMGR_ALWAYS_ON);