初级会员

- 积分
- 89
- 金钱
- 89
- 注册时间
- 2014-4-15
- 在线时间
- 0 小时
|
在RTC实时时钟实验中,怎么不能进入闹钟中断,能进入秒中断。程序的一部分是这样的
RTC->CRH|=0X01; //允许秒中断
RTC->CRH|=0X02; //允许闹钟中断
EXTI->IMR|=1<<17;
这是允许秒中断和闹钟中断
RCC->APB1ENR|=1<<28;//使能电源时钟
RCC->APB1ENR|=1<<27;//使能备份时钟
  WR->CR|=1<<8; //取消备份区写保护
//上面三步是必须的!
RTC->CRL|=1<<4; //允许配置
RTC->CNTL=0x0000;
RTC->CNTH=0x0000;
RTC->ALRL=0x000a;
RTC->ALRH=0x0000;
RTC->CRL&=~(1<<4);//配置更新
这样配置是不是十秒后进入闹钟中断啊
void RTC_IRQHandler(void)
{
if(RTC->CRL&0x0001)//秒钟中断
{
RTC_Get();//更新时间
//printf("CRL:%d\n",RTC->CRL);
RTC->CRL&=~(0x0001);
}
if(RTC->CRL&0x0002)//闹钟中断
{ LED1=0;
//printf("Alarm!\n");
RTC->CRL&=~(0x0002);//清闹钟中断
//闹钟处理
}
RTC->CRL&=0X0FFA;
在闹钟中断中我想点亮LED1,可是程序怎么不能进入闹钟中断,能进入秒中断
是不是错在哪了?还需要配置什么? |
|