请问我些的休眠唤醒程序是否正确?
我用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:请问我些的休眠唤醒程序是否正确?
我的理解也是这样,不过你可以把程序写入目标板里,跑一下就知道了,看一下手册的流程,还有官方的代码好像有这个进入与退出休眠模式的例子。
页:
[1]