打印
[国产单片机]

雅特力科技AT32 MCUDBG结合低功耗使用的相关建议

[复制链接]
654|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hoop|  楼主 | 2020-12-13 15:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
MCUDBG的功能理解
  一般芯片内核进入调试状态时,外设无时钟不会动作,MCUDBG主要是为调试状态提供时钟,为外设的工作提供条件
MCUDBG结合低功耗(Stop)使用
  若Bit位DBG_STOP=1时,不管是处于调试状态还是正常的运行,进入Stop后的系统时钟是HSI,且在退出Stop后如果不重新做时钟初始化的话,系统时钟就固定为HSI;
  若Bit位DBG_STOP=0时,调试进Stop时Link会断线,正常运行进入Stop后的系统时钟会被切换到LSI,且在退出Stop后如果不重新做时钟初始化的话,系统时钟还会被切换到HSI。
原则上,进入Stop的话,HSI会被关掉,但是实测当DBG_STOP=1时,HSI被选做了系统时钟。
结论总结:
  由此衍生注意点,如果Stop相关应用需要关注功耗的话,一定要在进入Stop前将DBG_STOP清零,即调用库函数MCUDBG_PeriphDebugModeConfig(MCUDBG_STOP, DISABLE);
  当然推测此特性同样适用于Sleep及Standby,所以如下三句话建议所有低功耗相关应用都尽量去调用执行一次
    MCUDBG_PeriphDebugModeConfig(MCUDBG_SLEEP, DISABLE);
    MCUDBG_PeriphDebugModeConfig(MCUDBG_STOP, DISABLE);
    MCUDBG_PeriphDebugModeConfig(MCUDBG_STANDBY, DISABLE);
特别说明一下:
  前述特点在AT即ST上行为均相同,本贴的目的只是给各位小伙伴们分享下我之前做应用时候的一点心得体会


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

322

帖子

0

粉丝