STM32F103低功耗测试
在32系列中低功耗产品早已被L系列产品所取代,STM32F低功耗虽然应用中有点鸡肋的感觉,但是也不妨碍我们拿它来学习,更何况它也有它的优势,在一些要求不高的场合还是有它的用途。
既然我们要去测试功耗,我们要准备对应的电路板和万用表,把电路板通电,测试无外设的情况下电路板的电流,然后进入待机状态下的电流,然后再把外设加入进去然后继续测电流,通过电流数值的变化来了解电路的功耗。
下面我们来点硬货,电路图。
测试的程序代码
#include"stm32f10x.h"
#include"system_stm32f10x.h"v
oidSys_Standby(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//使能PWR外设时钟
PWR_WakeUpPinCmd(ENABLE);//使能唤醒管脚功能
PWR_EnterSTANDBYMode();//进入待机(standby)模式
}
//系统进入待机模式
voidSys_Enter_Standby(void)
{
RCC_APB2PeriphResetCmd(0X01FC,DISABLE);//复位所有IO口,屏蔽这条语句也没有看到什么影响
Sys_Standby();
}
voidIO_Init(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//PB6上拉输入,对应按键S2
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,GPIO_InitStructure);
}
intmain()
{
IO_Init();
while(1)
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)==0)
{
Sys_Enter_Standby();
}
}
}
千万不要小看这些电流数值,在开发儿童类产品的时候,功耗部分是非常重要的,如果小米手环、小天才电话手表这些深受儿童喜爱的产品如果功耗太大只能使用几个小时的话,用户是肯定接受不了的。
而刚入门的朋友也可以通过板子上的其他外设去学习STM32,了解更多的STM32的知识。让自己早日使用STM32开发出自己想开发的小玩意。
希望以上的知识能够给大家提供帮助,这期我们先分享到这里,觉得有用的可以给华维点个赞
转载请注明:http://www.abuoumao.com/hykh/2442.html