找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4465|回复: 4
收起左侧

HC32L130F8UA华大单片机低功耗问题

[复制链接]
ID:467739 发表于 2020-3-31 14:37 | 显示全部楼层 |阅读模式
单片机上电初始化相关外设,比如UART0、ADC、TIME0,然后再调用__WFI();使单片机进入深度睡眠模式,发现单片机的耗电电流2ma左右。如果上电时,不初始化UART0、ADC、TIME0这些外设配置,单片机进入深度睡眠模式后,耗电电流就为70ua左右。这是什么原因喔?外部那些没用的引脚也都配置为输出低电平的,使用了的引脚都配置成和外部电路等电位。
回复

使用道具 举报

ID:599678 发表于 2020-3-31 15:51 | 显示全部楼层
进入睡眠前,比如ADC,先关闭内部参考电源M0P_BGR->CR_f.BGR_EN = 0x0u;,然后关闭ADC时钟Adc_Disable();Sysctrl_SetPeripheralGate(SysctrlPeripheralAdcBgr, FALSE);;串口先把复用功能修改为普通IO功能,再关闭串口时钟,其他外设参考这样。唤醒后,需要的功能再配置一下,如ADC操作Sysctrl_SetPeripheralGate(SysctrlPeripheralAdcBgr, TRUE);Adc_Enable();M0P_BGR->CR_f.BGR_EN = 0x1u;注意唤醒和进入睡眠的这几句的顺序。你这个70ua功耗也还是大,外围硬件可能也需要优化,整个板级能降低到20ua以下。
回复

使用道具 举报

ID:467739 发表于 2020-4-1 10:28 | 显示全部楼层
hubj627 发表于 2020-3-31 15:51
进入睡眠前,比如ADC,先关闭内部参考电源M0P_BGR->CR_f.BGR_EN = 0x0u;,然后关闭ADC时钟Adc_Disable();Sy ...

谢谢,按照你的上面说的,我试了下,ADC外设进入深度睡眠前这样配置,功耗确实降了一些。        M0P_BGR->CR_f.BGR_EN = 0x0u;
        Adc_Disable();
        Sysctrl_SetPeripheralGate(SysctrlPeripheralAdcBgr, FALSE);但是TIMER定时器外设,我在进入深度睡眠模式前,关闭了它的时钟,发现功耗还是没降下去。
回复

使用道具 举报

ID:106624 发表于 2020-8-3 08:43 | 显示全部楼层
您好!请问我用的引脚该如何配置?假如我使用过的的spi引脚,我做低功耗处理的时候,我是要将引脚重新配置成普通IO
回复

使用道具 举报

ID:398729 发表于 2022-8-10 11:55 | 显示全部楼层
张松松 发表于 2020-4-1 10:28
谢谢,按照你的上面说的,我试了下,ADC外设进入深度睡眠前这样配置,功耗确实降了一些。        M0P_BGR->CR_f. ...

您好,我现在也是遇到了一样的问题,外设就用了ADC,TIM2,ADTTIM6,但是进深度休眠时功耗在140mA,请问您还收集到其他降低功耗的方法吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表