stm32快速断电上电就可以正常工作,但是断电久了就不能正常工作

2019-07-14 15:18发布

RTC不能工作,SPI 中断读铁电错误,显示不能正常不作。按建不能操作,要烦死了。
复位,BOOT引脚应该都没有问题,电源用示波器看了很平稳啊。
有没有大神知道怎么回速,我的RCC初始化用的是CUBEmx生成的初始化程序。要晕死了,这项目要折腾死人的节奏啊。整个项目遍地都是奇葩问题。让人都没有下手的方向。
今天调试发现是LSE配置时,LSEON后等待LSE READY时tiMEOUT退出配置函数了,之后的PLL也就配置不到了,哪位大侠知道为什么 32.768的LSE配置不成功啊。

有没有大神指教一下?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
储蓄叛逆
2019-07-15 06:22

/* Reset LSEON and LSEBYP bits before configuring the LSE ----------------*/
     __HAL_RCC_LSE_CONFIG(RCC_LSE_OFF);
     
     /* Get Start Tick*/
     tickstart = HAL_GetTick();
     
     /* Wait till LSE is ready */  
     while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
     {
       if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
       {
         return HAL_TIMEOUT;
       }   
     }
     __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState);
     /* Check the LSE State */
     if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF)
     {
       /* Get Start Tick*/
       tickstart = HAL_GetTick();
      
       /* Wait till LSE is ready */  
      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
       {
         if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
         {
           return HAL_TIMEOUT;
         }      
       }
     }

一周热门 更多>