一、问题
1、进入深度睡眠后,通过外部中断唤醒,发现系统时钟变慢。
2、进入休眠模式,通过任何中断唤醒,系统时钟正常。
二、原因
1、从电源管理章节可知,睡眠模式下使用没有什么需要需要注意的,在使能PMU时钟前提下调用函数pmu_to_sleepmode即可,任何中断均可唤醒,唤醒后即可正常运行使用。
2、深度睡眠需要注意的是在使能PMU时钟前提下调用pmu_to_deepsleepmode深度睡眠,使用任何EXTI中断或事件唤醒后,他的当前系统运行时钟是内部的8M时钟,所以就出现唤醒后系统时钟变慢的情况。
三、解决
1、深度睡眠唤醒后需要对系统时钟重新配置,调用SystemInit、SystemCoreClockUpdate函数即可,该函数在system_gd32f10x.c中定义。
更多推荐
GD32低功耗:深度睡眠唤醒系统时钟变慢问题
发布评论