STM32 stlink烧写程序后,重新上电后,程序不运行

项目场景:

STM32G4x31利用HAL库开发项目,在使用stlink下载程序后,重新上电程序不运行


问题描述

STM32G4x31利用HAL库开发项目,在使用stlink下载程序,程序可以运行,但是重新上电后不运行


原因分析:

原因:初步判断是时钟初始化函数执行后,但是时钟还没有配置完成,就进行外设的初始化,故导致上电后不运行程序。

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_RTC_Init();
  MX_USART1_UART_Init();
  MX_ADC1_Init();

解决方案:

在时钟初始化函数 SystemClock_Config();后加入一个延时函数即可

 /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */
  HAL_Delay(100);//延时100ms
  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_RTC_Init();
  MX_USART1_UART_Init();
  MX_ADC1_Init();
  /* USER CODE BEGIN 2 */

posted @ 2022-04-07 20:49  满月居于空717  阅读(754)  评论(0)    收藏  举报  来源