[STM32F1] RTC频繁唤醒 设置 会影响RTC的准确度嘛?

[复制链接]
2711|46
 楼主| ksjdisa 发表于 2022-7-26 18:16 | 显示全部楼层 |阅读模式
使用了RTC ALARM A闹钟唤醒STM32F030c8t6和WAKEUP引脚外部唤醒 ,当外部唤醒以后进行校准时间,发现一小时能差8分钟。下面是我的RTC配置 和系统时间配置
  1. oid RCC_Configuration(void)
  2. {
  3.         /* RCC system reset(for debug purpose) */
  4.     RCC_DeInit();
  5.         RCC_LSICmd(ENABLE);
  6.     while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);//等待HSI就绪
  7.     RCC_HCLKConfig(RCC_SYSCLK_Div1);//配置AHB Prescaler为1(根据cubemx的时钟图看的)-->得到HCLK 8 M
  8.     RCC_PCLKConfig(RCC_HCLK_Div1);//配置APB1 Prescaler 为1 得到 PCLK1 = 8M-->同时APB1 外设时钟和和APB1上的定时器->8Mhz
  9.    
  10. //    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_8);//HSI RC(8MHZ) /2 * 8->PLLCLK = 32 Mhz        
  11. //    RCC_PLLCmd(ENABLE);
  12. //    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//将 PLLCLK作为系统时钟
  13.     RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);//将内部时钟作为系统时钟 ->8mhz
  14.      /* 使能APB1时钟 */
  15.     RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能 PWR时钟
  16. }

  1. void RTC_Configuration(void)
  2. {
  3.         /* Enable the PWR clock */
  4.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
  5.         /* Allow access to RTC */
  6.         PWR_BackupAccessCmd(ENABLE);
  7.         
  8.         #if defined (RTC_CLOCK_SOURCE_LSI)  /* LSI used as RTC source clock*/
  9.         /* The RTC Clock may varies due to LSI frequency dispersion. */   
  10.         /* Enable the LSI OSC */
  11.         RCC_LSICmd(ENABLE);

  12.         /* Wait till LSI is ready */  
  13.         while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET)
  14.         {
  15.         }
  16.         /* Check if the StandBy flag is set */
  17.         if (PWR_GetFlagStatus(PWR_FLAG_SB) != RESET)
  18.         {                 
  19.                 /* Clear StandBy flag */
  20.                 PWR_ClearFlag(PWR_FLAG_SB);  

  21.                 /* Check if the StandBy flag is cleared */
  22.                 if (PWR_GetFlagStatus(PWR_FLAG_SB) != RESET)
  23.                 {
  24.                         while(1);
  25.                 }

  26.                 RTC_WaitForSynchro();

  27.                 /* No need to configure the RTC as the RTC config(clock source, enable,
  28.                 prescaler,...) are kept after wake-up from STANDBY */
  29.         }
  30.         /* Select the RTC Clock Source */
  31.         RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);

  32.         SynchPrediv = 0x18F;
  33.         AsynchPrediv = 0x63;

  34.         #elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */
  35.         /* Enable the LSE OSC */
  36.         RCC_LSEConfig(RCC_LSE_ON);

  37.         /* Wait till LSE is ready */  
  38.         while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
  39.         {
  40.         }

  41.         /* Select the RTC Clock Source */
  42.         RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);

  43.         SynchPrediv = 0xFF;
  44.         AsynchPrediv = 0x7F;

  45.         #else
  46.         #error Please select the RTC Clock source inside the main.c file
  47.         #endif /* RTC_CLOCK_SOURCE_LSI */

  48.         /* Enable the RTC Clock */
  49.         RCC_RTCCLKCmd(ENABLE);

  50.         /* Wait for RTC APB registers synchronisation */
  51.         RTC_WaitForSynchro();

  52. }







mmbs 发表于 2023-3-7 21:06 | 显示全部楼层
是自带的rtc的功能吗?              
hearstnorman323 发表于 2023-3-10 15:01 | 显示全部楼层
你意思是要设置闹钟的吗?              
abotomson 发表于 2023-3-14 13:38 | 显示全部楼层
这个RTC精度跟晶振有关系的 。
deliahouse887 发表于 2023-3-14 16:10 | 显示全部楼层
使用外部晶振可以保证精确度的。              
中国龙芯CDX 发表于 2023-3-14 18:08 | 显示全部楼层
应该不会,RTC精度跟晶振有关
uytyu 发表于 2023-3-18 11:56 | 显示全部楼层
这个不影响的。              
yorkbarney 发表于 2023-3-18 15:41 | 显示全部楼层
这个没有影响的。设置闹钟即可。              
AloneKaven 发表于 2023-3-24 00:00 | 显示全部楼层
精度是跟外部时钟有关的吧
chenqianqian 发表于 2023-3-26 10:18 来自手机 | 显示全部楼层
和你唤醒操作没啥关系
liliang9554 发表于 2023-4-2 16:32 | 显示全部楼层
是自带的rtc的功能吗?              
jiaxw 发表于 2023-4-2 16:38 | 显示全部楼层
你意思是要设置闹钟的吗?              
jiaxw 发表于 2023-4-2 16:40 | 显示全部楼层

这个RTC精度跟晶振有关系的 。
dengdc 发表于 2023-4-2 16:43 | 显示全部楼层
使用外部晶振可以保证精确度的。              
tian111 发表于 2023-4-2 16:45 | 显示全部楼层
应该不会,RTC精度跟晶振有关
jiajs 发表于 2023-4-2 16:47 | 显示全部楼层

这个不影响的。              
zhanghqi 发表于 2023-4-2 16:48 | 显示全部楼层

这个没有影响的。设置闹钟即可。              
zhenykun 发表于 2023-4-2 16:49 | 显示全部楼层
精度是跟外部时钟有关的吧
wyjie 发表于 2023-4-2 16:51 | 显示全部楼层
和你唤醒操作没啥关系
jlyuan 发表于 2023-4-2 16:53 | 显示全部楼层
这个RTC精度跟晶振有关系的 。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

111

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部