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

STM32F103RC芯片的RTC的PRL寄存器的值为什么无法显示

[复制链接]
新新新 提问时间:2023-10-10 17:49 / 未解决

RTC_PRL寄存器的值为什么在Keil的调试中无法看到这个值的数值?一直显示是0,RCC_CNT的计数和中断都正常。

这是我的RTC的配置代码:

void RTC_Configuration(void)
{
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
  PWR_BackupAccessCmd(ENABLE);

  BKP_DeInit();
  RCC_LSEConfig(RCC_LSE_ON);
  while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);

  RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
  RCC_RTCCLKCmd(ENABLE);

  RTC_WaitForSynchro();

  RTC_WaitForLastTask();
  RTC_SetPrescaler(32767);
  RTC_WaitForLastTask();

  RTC_ITConfig(RTC_IT_SEC,ENABLE);
  RTC_WaitForLastTask();

}

NVIC的配置:

void NVIC_RTC_Configuration(void)
{
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

中断服务函数:

void RTC_IRQHandler(void)
{
  if(RTC_GetITStatus(RTC_IT_SEC) != RESET)  
  {
    RTC_ClearITPendingBit(RTC_IT_SEC);
  }
}
收藏 评论1 发布时间:2023-10-10 17:49

举报

1个回答
butterflyspring 回答时间:2023-10-11 12:09:36
请注意看手册,手册上说明了这个寄存器是只能写的。

stm32f103rtc prl w only 1.PNG stm32f103rtc prl w only 2.PNG
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版