打印
[STM32L1]

求助!!STM32L151中的RTC唤醒(wake up)中断问题

[复制链接]
10277|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Exia.|  楼主 | 2013-2-27 13:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大大,我最近在做STM32L151时出现了一个问题,就是RTC唤醒(wake up)中断不会中断啊,不知道为什么。下面是我的部分程序:

  void RTC_Configuration(void)
{
/* Enable PWR and BKP clock */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);                  
  /* Allow access to BKP Domain */
  PWR_RTCAccessCmd(ENABLE);                                       
                                                         
  
   /* Enable the LSE OSC */
  RCC_LSEConfig(RCC_LSE_ON);

  /* Wait till LSE is ready */  
  while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
  {
  }

  /* Select the RTC Clock Source */
  RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
/* Enable the RTC Clock */
  RCC_RTCCLKCmd(ENABLE);
  /* Wait for RTC APB registers synchronisation */
  RTC_WaitForSynchro();
  
  RTC_InitStructure.RTC_AsynchPrediv = 0x06;
  RTC_InitStructure.RTC_SynchPrediv  = 0x66;
  RTC_InitStructure.RTC_HourFormat   = RTC_HourFormat_24;
  RTC_Init(&RTC_InitStructure);

/* Configure the RTC WakeUp Clock source: CK_SPRE (1Hz) */
  RTC_WakeUpClockConfig(RTC_WakeUpClock_CK_SPRE_16bits);
  RTC_SetWakeUpCounter(0x0);
/* Enable the RTC Wakeup Interrupt */
  RTC_ITConfig(RTC_IT_WUT, ENABLE);
/* Enable Wakeup Counter */
  RTC_WakeUpCmd(ENABLE);
                                                                                
}

  void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
// Set the Vector Table base location at 0x08000000 */
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);   

// 1 bits for Preemption Priority and 3 bits for Sub Priority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

NVIC_InitStructure.NVIC_IRQChannel = RTC_WKUP_IRQn;                  
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

时钟用的是LSE,就是外部低速晶振(32.768K)的

一直不能产生中断,各位大大,帮我看看是怎么回事吧,小弟在此谢过了...
沙发
IJK| | 2013-2-27 14:43 | 只看该作者
可以参考ST给出的例子

使用特权

评论回复
板凳
Exia.|  楼主 | 2013-2-27 14:58 | 只看该作者
我这个就是参考例子来的,就是不行啊,而且我仿真的时候发现,例子那个程序好像也不能产生中断

使用特权

评论回复
地板
Exia.|  楼主 | 2013-2-27 16:20 | 只看该作者
有木有人可以帮帮我咧~~~

使用特权

评论回复
5
cjhk| | 2013-2-27 21:42 | 只看该作者
通过编译器查看代码执行顺序  看看到底是哪里出了问题   看看是否是语法错误  或者寄存器设置出错   亦或逻辑有问题  呵呵

使用特权

评论回复
6
MOn51| | 2013-5-21 13:54 | 只看该作者
也犯同样的错误,要借用Exit中断。才行!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

11

帖子

0

粉丝