STM32F10xxx有三中低功耗模式:
●睡眠模式(Cortex?-M3内核停止,外设仍在运行)
●停止模式(所有的时钟都以停止)
●待机模式(1.8V电源关闭)
时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。
上电,默认使用内部HSI时钟8M,经测试10mA左右。待机模式可实现系统的最低功耗。 可将电流消耗降至两微安。
在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚:
●复位引脚(始终有效)
●当被设置为防侵入或校准输出时的TAMPER引脚
●被使能的唤醒引脚
/*按钮GPIOB9进入睡眠,WKUP pin(GPIOA0)唤醒,GPIOD3-LED 200ms闪烁*/
int main(void)
{
/* System Clocks Configuration **********************************************/
RCC_Configuration();
GPIO_Configuration();
/* Enable PWR and BKP clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
/* Enable WKUP pin */
PWR_WakeUpPinCmd(ENABLE);
/* Allow access to BKP Domain */
PWR_BackupAccessCmd(ENABLE);
//RTC_Configuration();
EXTI_Configuration();
NVIC_Configuration();
SysTick_Config(SystemFrequency / 1000 *200 ); //200ms
while (1)
{
Delay(0xAFFFF);
}
} |