在线时间0 小时
UID355520
ST金币0
蝴蝶豆0
注册时间2012-4-27
初级会员
- 最后登录
- 1970-1-1
|
a0a.1 0b0c
main()
{
RTC_config();
Alarm_config();
for(;;)
{
halt();
}
}
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);
}
void Alarm_config(void)
{
RTC_AlarmStructInit(&RTC_AlarmStr);
RTC_AlarmStr.RTC_AlarmTime.RTC_Seconds = 5;
RTC_AlarmStr.RTC_AlarmMask = RTC_AlarmMask_DateWeekDay | RTC_AlarmMask_Hours| RTC_AlarmMask_Minutes;
RTC_SetAlarm(RTC_Format_BIN, &RTC_AlarmStr);
RTC_ITConfig(RTC_IT_ALRA, ENABLE);
RTC_AlarmCmd(ENABLE);
enableInterrupts();
}
以下为中断程式
INTERRUPT_HANDLER(RTC_CSSLSE_IRQHandler, 4)
{
GPIO_ToggleBits(GPIOB,GPIO_Pin_0);
RTC_ClearITPendingBit(RTC_IT_ALRA);
RTC_SetAlarm(RTC_Format_BIN, &RTC_AlarmStr);
}
PB0起始输出值为hi ,PB0输出为五秒HI然后拉low1分钟之后hi一分钟循环,怀疑是当RTC的秒数到5时才会发生Alarm,Alarm不是我设定5秒就是五秒会进入一次中断吗我是哪里设定错了 |
|