CCS TSK中调用 SysCtlSleep(); 无法进入低功耗模式,程序还是run的状态
但是没有创建TSK时调用 SysCtlSleep(); ,却能进入
在TSK中调用 SysCtlSleep(); 前,还需要配置什么吗?
Richard Ma:
楼主说的TSK指的是用TI RTOS建立进程吗?
SysCtlSleep()让内核进入待机状态,如果出现任何中断,内核都会被唤醒。TSK的调度应该是通过中断的,所以会唤醒内核。
xiaoli duan:
回复 Richard Ma:
是采用的TI RTOS,这个问题有没有能够解决的办法呢?
Richard Ma:
回复 xiaoli duan:
涉及到进程调度,使用到中断部分比较难改。我能想到两种改法,楼主可以参考下:
1. 使用Deep Sleep方式,只支持某个中断唤醒,让整个系统挂起
2. 使用休眠模式,重新上电后恢复现场
xiaoli duan:
回复 Richard Ma:
休眠模式不适用于我们现在的板子
使用Deepsleep还是存在同样的问题,没有enable任何中断,但是在tsk中调用此函数不进入睡眠模式