CCS TSK中调用 SysCtlSleep(); 无法进入低功耗模式,程序还是run的状态
但是没有创建TSK时调用 SysCtlSleep(); ,却能进入
在TSK中调用 SysCtlSleep(); 前,还需要配置什么吗?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
CCS TSK中调用 SysCtlSleep(); 无法进入低功耗模式,程序还是run的状态
但是没有创建TSK时调用 SysCtlSleep(); ,却能进入
在TSK中调用 SysCtlSleep(); 前,还需要配置什么吗?
楼主说的TSK指的是用TI RTOS建立进程吗?
SysCtlSleep()让内核进入待机状态,如果出现任何中断,内核都会被唤醒。TSK的调度应该是通过中断的,所以会唤醒内核。
涉及到进程调度,使用到中断部分比较难改。我能想到两种改法,楼主可以参考下:
1. 使用Deep Sleep方式,只支持某个中断唤醒,让整个系统挂起
2. 使用休眠模式,重新上电后恢复现场
休眠模式不适用于我们现在的板子
使用Deepsleep还是存在同样的问题,没有enable任何中断,但是在tsk中调用此函数不进入睡眠模式