CubeMX5.2.1与STM32Cube FW_F1 V1.24.1生成代码,时钟配置进入Error_Handler()
1、使用STM32F446
2、使用CubeMX5.2.1与STM32Cube FW_F1 V1.24.1库生成。
3、外部8Mh晶振,主频配置为180Mhz,RCC_OscInitStruct.PLL.PLLN = 180;
现象:
1.MCU执行到if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK),进入Error_Handler()。
2.跟踪发现在执行到Src\stm32f4xx_hal_rcc_ex.c文件中的
pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) (((uint64_t)RCC->PLLCFGR & (uint64_t)RCC_PLLCFGR_PLLN) >> (uint64_t)RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);
进入Error_Handler()。最终导致MCU启动失败。
降低主频,RCC_OscInitStruct.PLL.PLLN = 130;改为130后不再进去Error_Handler(),程序运行正常了。
为什么配置曾1130以上就不正常了???
请大神们帮忙分析下原因,感激!!!
0 个回复