你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在STM32F429i Disco中想用两个Alarm, 没有产出中断信号,什么原...

[复制链接]
AnnaLi 提问时间:2015-3-6 01:32 /
**********
RTC_TimeTypeDef   RTC_TimeStructure;
RTC_AlarmTypeDef  RTC_AlarmStructure;
RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure);
sec    =  RTC_TimeStructure.RTC_Seconds;
min    =  RTC_TimeStructure.RTC_Minutes;
hour   =  RTC_TimeStructure.RTC_Hours;
   
            Alarm_Init();
            /*  Alarm A */
            RTC_GetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure);
            RTC_AlarmCmd(RTC_Alarm_A, DISABLE);
            /* Disable the RTC Alarm A Interrupt */
            RTC_ITConfig(RTC_IT_ALRA, DISABLE);

            RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = (sec+0X01);
            RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = (min+0X01);
            RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = (hour+0X00);
            RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date;
            RTC_AlarmStructure.RTC_AlarmDateWeekDay = day;
            RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure);

            /* Enable the RTC Alarm A Interrupt */
            RTC_ITConfig(RTC_IT_ALRA, ENABLE);

            /* Enable the alarm  A */
            RTC_AlarmCmd(RTC_Alarm_A, ENABLE);

            /*  Alarm B */
            RTC_GetAlarm(RTC_Format_BIN, RTC_Alarm_B, &RTC_AlarmStructure);
            RTC_AlarmCmd(RTC_Alarm_B, DISABLE);
            /* Disable the RTC Alarm B Interrupt */
            RTC_ITConfig(RTC_IT_ALRB, DISABLE);
            RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = (sec+0X01);
            RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = (min+0X00);
            RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = (hour+0X00);
            RTC_AlarmStructure.RTC_AlarmDateWeekDaySel =    RTC_AlarmDateWeekDaySel_Date;
            RTC_AlarmStructure.RTC_AlarmDateWeekDay = day;
            RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_B, &RTC_AlarmStructure);

            /* Enable the RTC Alarm B Interrupt */
            RTC_ITConfig(RTC_IT_ALRB, ENABLE);
            /* Enable the alarm  B */
            RTC_AlarmCmd(RTC_Alarm_B, ENABLE);
*****************
void RTC_Alarm_IRQHandler(void)
{
  /* Clear the EXTIL line 17 */
  EXTI_ClearITPendingBit(EXTI_Line17);

  /* Check on the AlarmA falg and on the number of interrupts per Second (60*8) */
  if (RTC_GetITStatus(RTC_IT_ALRA) != RESET)
  {
//    STM_EVAL_LEDOn(LED4);
    alarm_now2 = 0;
    /* Clear RTC AlarmA Flags */
    RTC_ClearITPendingBit(RTC_IT_ALRA);
    RTC_HandlerFlag = ENABLE;
  }
    if (RTC_GetITStatus(RTC_IT_ALRB) != RESET)
  {
//    STM_EVAL_LEDOn(LED4);
     alarm_now = 0;
    /* Clear RTC AlarmA Flags */
    RTC_ClearITPendingBit(RTC_IT_ALRB);
    RTC_HandlerFlag = ENABLE;
  }
}
~~~~~~~~~~~~~~~~~~~~~~

错在哪里?

收藏 评论2 发布时间:2015-3-6 01:32

举报

2个回答
拼命三郎 回答时间:2015-3-6 08:03:31
ddddd.png
枫叶-400015 回答时间:2019-7-16 15:18:14
我的STM32L496,也是运行模式Alarm可以进中断,休眠模式Alarm可以唤醒,但是无法进入中断
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版