大家有没有遇到这个关于MCU使用系统后就不能进入休眠的问题?
想问问各位,是不是哪里还需要配置?怎么配置?
步骤说明:
1.使用KF32AA156MQV MCU,使用自带IDE导入例程RTOS(A02 freeRTOS),编译成功,也可以在开发板上正常运行;
2.在任务“LED task”内添加一个累加变量,当累加到10次后调用官方自带例程的进入普通休眠函数 SystemGotoSleepMode或者是SystemGotoStandbyMode(函数具体实现如下所示),MCU根本没有进入休眠;
3.不使用操作系统后,调用以下两个休眠函数,都可以进入休眠;使用了freeRTOS, 调用休眠函数,根本没办法休眠;然后切换成ucos ii系统,也是没办法休眠。
函数具体实现如下:
void SystemGotoSleepMode(void)
{
asm("NOP");
asm("SLEEP");
}
void SystemGotoStandbyMode(void)
{
PM_CAL2 |= (1 <<7);
PM_CTL0 = (1<< 11);
PM_Low_Power_Mode_Config(PM_LOW_POWER_MODE_STANDBY);
asm("NOP");
asm("SLEEP");
} |