我用IAR做了STM8S208MB一部分电源管理程序,涉及到系统进入待机低功耗。 目前,初步写出来,心里没底,由于项目时间又急,很担心调试又要耗费很多时间。所以请各位高手看看我写的休眠唤醒程序是否有误。 /*****************************************************************************\ *Function : void SysIntoHalt(void) * *Input : . * *Output : * *Discription: 系统进入休眠 * *Author : Winken * *Update date : 2012.6.28 * \******************************************************************************/ void SysIntoHalt(void) { InitIO( ); CLK_HSECmd(DISABLE); // 关闭外部晶振 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); TIM1_Cmd(DISABLE); //TIM1_CtrlPWMOutputs(DISABLE); //TIM2_Cmd(DISABLE); //TIM3_Cmd(DISABLE); ADC2_Cmd(DISABLE); //GPIO_DeInit(GPIOA); GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_IN_FL_IT); EXTI_DeInit(); EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOA, EXTI_SENSITIVITY_RISE_FALL); halt(); } /*****************************************************************************\ *Function : void SysOutHalt(void) * *Input : . * *Output : * *Discription: 系统退出休眠 * *Author : Winken * *Update date : 2012.6.28 * \******************************************************************************/ void SysOutHalt(void) { //CLK_HSECmd(ENABLE); CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); /*配置IO口*/ InitIO(); /*设置时基1ms,中断工作*/ Tim1_Init(); /*设置串口,中断工作*/ Uart_Init(); /*设置AD口,查询方式,中断不工作*/ ADC_Init(); enableInterrupts(); } |
RE:请问我些的休眠唤醒程序是否正确?