打印
[STM32L1]

STM32L151中的RTC唤醒中断不会中断

[复制链接]
1016|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
classroom|  楼主 | 2023-6-26 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大大,我最近在做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)的

一直不能产生中断,各位大大,帮我看看是怎么回事吧,小弟在此谢过了...  

使用特权

评论回复
沙发
Undshing| | 2023-7-1 23:47 | 只看该作者
所有的RTC中断都必须由EXTI产生

使用特权

评论回复
板凳
一只眠羊| | 2023-7-12 22:22 | 只看该作者
唤醒中断没起作用是吧

使用特权

评论回复
地板
田舍郎| | 2023-7-12 23:10 | 只看该作者
中断没配好

使用特权

评论回复
5
我吃小朋友| | 2023-7-13 01:11 | 只看该作者
一般来说应该可以用RTC来实现的啊

使用特权

评论回复
6
将爱藏于深海| | 2023-7-13 03:04 | 只看该作者
你可以用官方的demo来跑一下试试

使用特权

评论回复
7
风凉| | 2023-7-13 05:36 | 只看该作者
为啥不能唤醒啊?提示什么了?

使用特权

评论回复
8
捧一束彼岸花| | 2023-7-13 07:22 | 只看该作者
你换成其他中断源实现唤醒吧

使用特权

评论回复
9
春日负喧| | 2023-7-13 09:13 | 只看该作者
按理来说,RTC唤醒得看MCU是否支持啊

使用特权

评论回复
10
温室雏菊| | 2023-7-13 11:31 | 只看该作者
最好还是用官方的RTC唤醒程序,熟悉一下,看一下

使用特权

评论回复
11
白马过平川| | 2023-7-13 14:21 | 只看该作者
你用的是官方的例程修改的么?

使用特权

评论回复
12
失物招領| | 2023-7-13 16:25 | 只看该作者
不中断可不应该啊

使用特权

评论回复
13
未说出口的像你| | 2023-7-13 19:03 | 只看该作者
可能是RTC部分没产生效果呗

使用特权

评论回复
14
SantaBunny| | 2023-10-27 09:48 | 只看该作者
试一下用官方的demo来跑一下

使用特权

评论回复
15
Wordsworth| | 2023-12-1 07:28 | 只看该作者

电流若是偏大就会直接导致器件烧毁

使用特权

评论回复
16
Clyde011| | 2023-12-1 08:31 | 只看该作者

人体具有300PF的等效电容

使用特权

评论回复
17
万图| | 2023-12-1 10:27 | 只看该作者

从而达到对电子设备进行静电保护

使用特权

评论回复
18
Uriah| | 2023-12-1 11:30 | 只看该作者

齐纳二极管的缺点是不如TVS快

使用特权

评论回复
19
帛灿灿| | 2023-12-1 13:26 | 只看该作者

就是因为它的作用就是在电子产品设备受到雷击浪涌与ESD静电放电或者其他瞬态电压时

使用特权

评论回复
20
Pulitzer| | 2023-12-1 14:29 | 只看该作者

这方便一般可以使用底涂的方式来改善

使用特权

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

本版积分规则

407

主题

1934

帖子

1

粉丝