STM32F103C8停机低功耗设置

14 篇文章 1 订阅
8 篇文章 0 订阅

根据项目需要选择的是停机模式

进入停止模式之后,任何外部中断都可以唤醒低功耗,但是需要重新配置时钟,不然系统将以默认时钟(没有经过倍频)运行。

1.进入低功耗

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

PWR_EnterSTOPMode (PWR_Regulator_ON,PWR_STOPEntry_WFI);

2.降低低功耗,需要配置没有使用的GPIO,改变它的默认配置状态。演示状态是关闭所有IO外设,具体情况,可以自行配置

GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Pe riph_GPIOD|RCC_AHB1Periph_GPIOH, ENABLE);//

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;

GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_Init(GPIOD, &GPIO_InitStructure);

3.检查有没有配置ADC等其他的外设,一定要关闭ADC等其他的外设时钟。

4.如何进行唤醒操作?

在中断处理函数中,进行下系统初始化就可以了。

SystemInit();

如果不进行系统初始化,则以默认时钟进行运行。

5.经过测试MCU消耗170uA。(应该还能降低到20uA,但是还是没找出哪里耗电)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫邪博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值