STM32
直播中

吴湛

10年用户 977经验值
擅长:417804
私信 关注
[问答]

STM32L072用内部时钟通过锁相环倍频到主频32MHz后,功耗很大怎么解决?

STM32L072是低功耗MCU, 但是用内部时钟,通过锁相环倍频到主频32MHz后,执行main函数,SystemClock_Config();函数后,单片机有7mA的功耗,为啥这么大?应该怎么样设置,减少功耗!即使是立即进入HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);休眠模式也不行,功耗一直是7mA!


回帖(2)

刘飞云

2024-3-15 14:15:47
要根据实际电路进行配置芯片各个模块及IO的状态。
举报

张虎豹

2024-3-15 15:23:38
有几个方式可以尝试降低STM32L072的功耗:

1. 使用低功耗模式:可以尝试使用低功耗模式,如Sleep Mode或Stop Mode等。这些模式使芯片进入低功耗状态,以节省功耗。例如,使用`HAL_PWR_EnterSTOPMode`函数进入低功耗停止模式。

2. 禁用未使用的外设:禁用任何未使用的外设和模块可以减少功耗。确保只启用需要的外设和模块,并在不使用时禁用它们。

3. 优化时钟源选择:选择正确的时钟源,以确保最佳的功耗。在STM32L0系列中,使用MSI(多速度内部振荡器)作为时钟源通常是功耗效率最高的选择。

4. 优化时钟频率:调整时钟频率以适应应用的要求。在STM32L072中,可以更改CPU时钟频率和AHB时钟频率,以减少功耗。可以尝试将时钟频率降低到更低的设置,以节省功耗。

5. 禁用调试功能:使用调试功能可能会增加功耗。在系统正常工作时,禁用调试功能以减少功耗。

6. 优化代码:优化代码以减少处理器的活动时间和功耗。尽量减少延迟、空闲循环等造成额外功耗的代码。

值得注意的是,以上方法只是一些常见的优化措施,具体的功耗优化方法可能因具体的应用和需求而有所不同。因此,建议参考STM32L072的参考手册和系统时钟设置手册等相关文档,以获取更详细的信息和指导。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分