初级会员

- 积分
- 87
- 金钱
- 87
- 注册时间
- 2015-10-29
- 在线时间
- 11 小时
|
如题:STM32进入Sleep mode后用timer2唤醒后不能进入主函数,关键代码如下:
int main(void)
{
int i = 0,a= 0;
sysInit();
NVIC_Config();
TIM2_Init();
GPS_Init();
SYS_LED_ON;
while(1)
{
i++;
printf("main %d:\n",i);
for(a = 0;a < 4;a++)
{
GPIO_WriteBit(GPIOC, GPIO_Pin_13, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_13)));
delay_ms(200);
}
Sys_sleep();
}
}
void TIM2_IRQHandler(void)
{
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
{
static int i = 0;
i++;
GPIO_WriteBit(GPIOC, GPIO_Pin_13, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_13)));
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
printf("timer %d\n",i);
}
}
休眠后每隔一段时间打印出相关信息,如图,从中可以看到,定时器唤醒后没有进入主函数执行
|
-
打印出来的信息
|