我的程序在Debug时,进入halt()模式,程序就会跑飞,不知是哪里设置的不对?
或者谁有可用的例程参考下
主函数里的代码:while(1)
{
USART_Process();
TemporaryDataPro();
TransmitSportDataProcess();
timeprocess();
if(0==KEYDELAY && 0==BlueToothPowerUpFlag)
{
PWR_FastWakeUpCmd(ENABLE);
PWR_UltraLowPowerCmd(ENABLE);
RTC_SetWakeUpCounter(2047);
RTC_WakeUpCmd(ENABLE);
halt();
RTC_WakeUpCmd(DISABLE);
}
//可以用RTC来唤醒,1、选择RT时钟源 2、使能RTC
//3、选择RTC唤醒时钟源 4、RTC中断使能 5、设置唤醒时间 6、唤醒使能
}
RTC时钟设置:void RTC_Config(void)
{
CLK_LSEConfig(CLK_LSE_ON);
while (CLK_GetFlagStatus(CLK_FLAG_LSERDY) == RESET);
CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);
RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
enableInterrupts();
}
中断函数代码:#pragma vector=6
__interrupt void RTC_IRQHandler(void)
{
interflag=1;
adflag=1;
EnergyDisplay(125);
RTC_ClearITPendingBit(RTC_IT_WUT);
}
|