为什么在配置低功耗模式时在停止模式与待机模式也要先把所有外设关闭呢?明明配置停止模式与待机模式后所有外设时钟直接会被关闭,这难道不是多此一举吗
2条回答 默认 最新
开发技术控 2023-07-13 15:37关注引用gpt回答 有帮助的话采纳一下
在配置低功耗模式时,先关闭所有外设的做法,主要出于以下考虑:- 确保所有外设都已处于关闭或reset状态,避免因外设工作状态不确定而引起的问题。
- 一些外设可能需要顺序或特定方式关闭,提前关闭可以遵循标准流程。
- 有些外设的关闭需要一定时间,提前关闭可以减少低功耗模式切换的总延迟。
- 关闭外设可以降低系统功耗,有利于进入更深度的低功耗状态。
- 即使外设时钟被关闭,但相关寄存器状态可能依然会消耗静态功耗。
- 由于停止模式和待机模式下,外部事件可以唤醒系统,如果事先没有正确关闭外设,在唤醒后可能会引起不确定的行为。
- 采取统一的外设关闭流程,可以增加代码的一致性和可靠性。
- 一些MCU在进入低功耗模式前,会要求必须关闭外设,这是参考手册规定的要求。
所以从多方面考虑,先关闭外设再配置低功耗模式,可以看作是一种好的编程习惯,有助于避免潜在问题,增强可靠性和可维护性,不是多余的工作。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报