|
发表于 2014-11-15 11:16:03
|
显示全部楼层
谢谢!I/O 设置为GPIO_Mode_In_FL_No_IT,GPIO_Mode_Out_OD_Low_Slow,GPIO_Mode_Out_PP_High_Slow,用完的外设都关了, 时钟内部低频HSI 。进入halt 后75uA,怎么改都下不来了。不知哪里还需要优化下。
ADC_ChannelCmd(ADC1, ADC_Channel_5, DISABLE);
ADC_VrefintCmd(DISABLE);
ADC_Cmd(ADC1, DISABLE);
TIM2_ITConfig(TIM2_IT_Update, DISABLE);
TIM2_Cmd(DISABLE);
PWR_PVDCmd(DISABLE);
ADC_DeInit(ADC1);
TIM2_DeInit();
PWR_FastWakeUpCmd(DISABLE);
PWR_UltraLowPowerCmd(ENABLE);
GPIO_DeInit(GPIOA);
GPIO_DeInit(GPIOB);
GPIO_DeInit(GPIOC);
GPIO_DeInit(GPIOD);
GPIO_DeInit(GPIOE);
GPIO_Init(GPIOA,GPIO_Pin_All,GPIO_Mode_In_FL_No_IT);
GPIO_Init(GPIOC,GPIO_Pin_All,GPIO_Mode_In_FL_No_IT);
GPIO_Init(GPIOD,GPIO_Pin_All,GPIO_Mode_In_FL_No_IT);
GPIO_Init(GPIOE,GPIO_Pin_All,GPIO_Mode_In_FL_No_IT);
GPIO_Init(GPIOF,GPIO_Pin_All,GPIO_Mode_In_FL_No_IT);
GPIO_Init(GPIOB, GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_5,GPIO_Mode_In_FL_No_IT);
GPIO_Init(GPIOB, GPIO_Pin_3,GPIO_Mode_Out_OD_Low_Slow);
GPIO_Init(GPIOB, GPIO_Pin_6|GPIO_Pin_7,GPIO_Mode_Out_PP_High_Slow);
GPIO_Init(GPIOB,GPIO_Pin_1,GPIO_Mode_In_PU_IT);
EXTI_DeInit();
EXTI_SetPinSensitivity(EXTI_Pin_1,EXTI_Trigger_Falling);
enableInterrupts();
CLK_PeripheralClockConfig(CLK_Peripheral_TIM1|CLK_Peripheral_TIM2|CLK_Peripheral_TIM3|CLK_Peripheral_TIM4,DISABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1|CLK_Peripheral_DAC|CLK_Peripheral_LCD|CLK_Peripheral_I2C1|CLK_Peripheral_SPI1|CLK_Peripheral_BEEP,DISABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_RTC|CLK_Peripheral_USART1|CLK_Peripheral_DMA1|CLK_Peripheral_WWDG|CLK_Peripheral_COMP,DISABLE);
CLK_SYSCLKSourceSwitchCmd(ENABLE);//使能时钟切换
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);//选择外部低速时钟作为时钟源
/* system clock prescaler: 1*/
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//设置系统时钟分频
while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI)//等待时钟稳定
{}
Nop_Delay(1000);
halt(); |
|