求助一个RTC初始化的问题

2019-07-21 04:33发布

RTC_EnterConfigMode();//        允许配置       
RTC_SetPrescaler(32767); //  设置RTC预分频的值
RTC_WaitForLastTask();        //   等待最后一次对RTC寄存器的写操作完成
RTC_Set(2010,2,14,17,42,55);  //                设置时间
RTC_ExitConfigMode(); //退出配置模式

void RTC_SetPrescaler(uint32_t PrescalerValue)
{
  /* Check the parameters */
  assert_param(IS_RTC_PRESCALER(PrescalerValue));
  
  RTC_EnterConfigMode();
  /* Set RTC PRESCALER MSB word */
  RTC->PRLH = (PrescalerValue & PRLH_MSB_MASK) >> 16;
  /* Set RTC PRESCALER LSB word */
  RTC->PRLL = (PrescalerValue & RTC_LSB_MASK);
  RTC_ExitConfigMode();
}
求助一个RTC的问题,RTC进行初始化的时候先允许配置  然后设置RTC预分频,在预分频函数里执行了RTC_EnterConfigMode();和RTC_ExitConfigMode(); (退出配置模式)  那返回来设置时间的时候不就无法设置了,但是我之后将上述代码里的RTC_EnterConfigMode和RTC_ExitConfigMode(包括预分频函数)都屏蔽掉依然可以重新设置时间,精英版STM32F103ZET6求指导。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。