在线时间2 小时
UID365208
ST金币0
蝴蝶豆0
注册时间2012-6-15
新手上路
- 最后登录
- 2020-7-13
|
a0a.1 0b0c
我用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();
} |
|