目前STM32L152RBT6最小系统进入stop模式测得电流340μA,和手册上的差的N远。。。怎么调低,哪里配置不对吗?请问大家怎么对IO进行配置的。下面是我进stop前IO的配置。
/**
* [url=home.php?mod=space&uid=247401]@brief[/url] Function used to Configure the GPIO in low consumption
* [url=home.php?mod=space&uid=346721]@Caller[/url] Lock_EnterStopModeSet
* @param None
* @retval None
*/
void GPIO_LowPower_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* store GPIO configuration before lowpower switch */
GPIOA_MODER = GPIOA->MODER;
GPIOB_MODER = GPIOB->MODER;
GPIOC_MODER = GPIOC->MODER;
GPIOD_MODER = GPIOD->MODER;
GPIOH_MODER = GPIOH->MODER;
GPIOA_PUPDR = GPIOA->PUPDR;
GPIOB_PUPDR = GPIOB->PUPDR;
GPIOC_PUPDR = GPIOC->PUPDR;
GPIOD_PUPDR = GPIOD->PUPDR;
GPIOH_PUPDR = GPIOH->PUPDR;
/* Configure all GPIO port pins in Analog input mode (trigger OFF) */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_400KHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_Init(GPIOH, &GPIO_InitStructure);
/* all GPIOA except PA6 and PA7 used for RF_SPI_NSS and RF_SPI_SCK*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4| GPIO_Pin_5 | GPIO_Pin_8 \
| GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_12 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* all GPIOB except PB0 and PB13 used for RF_IRQ and Touch_IRQ*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5| GPIO_Pin_6 | GPIO_Pin_7 \
| GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 |GPIO_Pin_12 | GPIO_Pin_14 | GPIO_Pin_15 ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* all GPIOC except PC4 and PC5 used for RF_SPI_MOSI and RF_SPI_MISO
PC7 and PC9 used for Voltage_Detect and ZIgBee_IRQ
PC11 PC12 PC14 used for Anti-Lock and MicroSwitch FPTouch_OUT*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_6 | GPIO_Pin_8| GPIO_Pin_10 \
| GPIO_Pin_13 | GPIO_Pin_15;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
|