项目中一个是IAP程序,另一个是APP程序,两个程序都是使用STM32CubeIDE生成,当程序跳转到APP中并且执行到函数SystemClock_Config中的时候,在初始化锁相环调用HAL_RCC_OscConfig函数的时候返回HAL_ERROR或者直接卡死在里面。 为什么在IAP中可以初始化通过,但是在APP中却通不过,查阅STM32F4xx参考手册发现这么一段话: 那...
if (HAL_RCC_OscConfig(&oscinitstruct)!= HAL_OK){ /* Initialization Error */ while(1);} /*...
RCC_OscInitStruct.HSIState= RCC_HSI_ON;//stm32L031芯片的adc必须启动HSIRCC_OscInitStruct.PLL.PLLState =RCC_PLL_NONE;if(HAL_RCC_OscConfig(&RCC_OscInitStruct) !=HAL_OK) { Error_Handler(); }/** Initializes the CPU, AHB and APB buses clocks*/RCC_ClkInitStruct.ClockType= RCC_CLOCKTYPE...
针对客户的问题,基于STM32WL AT slave 例程,运行在客户样机上发现现象一致,也是卡死在HAL_RCC_OscConfig 。但使用单步调试进入HAL_RCC_OscCongig 里面发现,卡死具体的原因不是HSE,而是LSE 初始化出了问题,一直在等待LES ready 的信号。具体代码如下: 针对上面的分析,把RTC时钟源更改为HSE_RTC,如下图一,图二, ...
用STM32CubeMX进行时钟源RCC配置的时,配置HSE为bypass。随后程序卡死在void SystemClock_Config(void)中的if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK),。 解决 查找用STM32CubeMX RCC时钟选项,发现HSE选择与开发板的板载晶振不同,从而导致程序(RCC配置失败)卡死。 Disable:禁用外部时钟 BYPASS Cloc...
可以看出当我们的数据写入6次之后:write_cnt > 5就会进入一个死循环,每过0.5秒输出一个while。 接下来咱们再来验证一下,将SD卡拔出用读卡器插到我们的PC上看我们写入的文件 可以看到我们写入的文件为6行“01 write buff to sd”,这与我们的代码对应 但是大家可以看到我们打开的文件显示出来的结果是乱码的,我们...
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK){ Error_Handler();} /**Initializes the...
HAL_RCC_OscConfig(&RCC_OscInitStruct); PeriphClkInitStruct.PeriphClockSelection=RCC_PERIPHCLK_RTC;//外设为RTC PeriphClkInitStruct.RTCClockSelection=RCC_RTCCLKSOURCE_LSE;//RTC时钟源为LSE HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct); __HAL_RCC_RTC_ENABLE();//RTC时钟使能 ...
__HAL_RCC_PWR_CLK_ENABLE();//使能电源时钟PWRHAL_PWR_EnableBkUpAccess();//取消备份区域写保护RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_LSE;//LSE配置RCC_OscInitStruct.PLL.PLLState=RCC_PLL_NONE;RCC_OscInitStruct.LSEState=RCC_LSE_ON;//RTC使用LSEHAL_RCC_OscConfig(&RCC_OscInitStruct);...
如果 (HAL_RCC_OscConfig(&oscinitstruct)!= HAL_OK){ /* 初始化错误 */ 同时(1);} /* ...