dreameng

STM32CubeMX初始化项目

2026/05/03
5
0

1. 使用MCU型号创建项目

2. 搜索MCU

  • 根据自己开发板MCU的行啊后,搜索MCU

  • 双击右侧搜索出的MCU项生成项目(或点击Start Project)

3. 针脚与设置

  • 高速时钟、低速时钟均设置为晶体/陶瓷晶振

  • 为了实现下方的测试案例,我开启了三个GPIO引脚

4. 时钟树设置

  • 使用HSE高速内部时钟

  • 设置倍频因子:9

  • 启用PLL时钟(为了实现低频输入、高频输出,比如使用外置8MHZ的晶振,经过PLL倍频达到更高频率)

  • 设置APB1的分频倍率

    默认为1

5. 设置项目信息

  • 设置项目名称

  • 设置项目路径

  • 设置用于开发的工具

    我这里生成的是cmake代码

  • 如果没有其它内容要设置,可以点击4处生成代码。生成代码后,选择相应的工具打开项目。​

6. 书写测试代码led流水灯

  • 写测试代码
    书写测试代码

// 省略之前代码...
MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    HAL_GPIO_WritePin(GPIOA, RED_LED_Pin, GPIO_PIN_RESET); // 打开红灯
    HAL_Delay(1000); // Delay 1 second
	HAL_GPIO_WritePin(GPIOA, GREEN_LED_Pin, GPIO_PIN_RESET); // 打开绿灯
    HAL_Delay(1000); // Delay 1 second
	HAL_GPIO_WritePin(GPIOA, BLUE_LED_Pin, GPIO_PIN_RESET); // 打开蓝灯
    HAL_Delay(1000); // Delay 1 second
	HAL_GPIO_WritePin(GPIOA, RED_LED_Pin | GREEN_LED_Pin | BLUE_LED_Pin, GPIO_PIN_SET); // 关闭所有LED
    HAL_Delay(1000); 
    /* USER CODE BEGIN 3 */
  }
// 省略之后代码...
  • 使用cmake编译

    image-MUDf.png
  • openocd烧录

  • 开发板效果展示

    STM32F103C8T6开发板流水灯
    STM32F103C8T6流水灯