STM32CubeMx 建立 TrueStuido LED 工程

本文开发环境:

  • MCU型号:STM32F051R8T6
  • IDE环境: TrueStuido 9.3.0
  • 代码生成工具:STM32CubeMx 5.1.0

本文内容:

  1. 初始化IO口
  2. IO口的输出

IO口工程的建立

建立一个工程一般又一下几个步骤:

  1. 选择芯片
  2. 初始化RCC,选择系统时钟
  3. 初始化外设
  4. 生成工程
  5. 编写用户代码

接着下来分别介绍这些步骤的具体操作。

选择芯片

本文使用的MCU为STM32F051R8T6,所以选F0R8系列,T表示FQFP封装方式,6代表是温度特性,这里就和工程没关系了:
STM32CubeMx 建立 TrueStuido LED 工程

初始化RCC

选择芯片以后,我们就可以开始具体的初始化工作了,这里选择系统RCC为外部高速输入,当然如果你对应的引脚没有晶振,也可以选择内置的晶振:
STM32CubeMx 建立 TrueStuido LED 工程

初始化IO口

接着我们初始化IO口,由于我的LED灯连接了MCU的PC13,所以这里初始化PC为输出引脚:
STM32CubeMx 建立 TrueStuido LED 工程
在右侧MCU图像的PC13引脚处,右键即可配置,这里设置为输出模式,在GPIO口选项中,我们还可以进一步配置其他的参数,如输出模式等,如下所示:
STM32CubeMx 建立 TrueStuido LED 工程
这些模式根据具体的电路配置,一般保持默认即可,接着我们还需要选择系统的时钟:
STM32CubeMx 建立 TrueStuido LED 工程
这款芯片的最好频率为48M,我们直接在HCLK处填写 48,让工具自动给我们分频倍频分频系数。当然也可以自动手动选择各个参数。

生成代码

至此,我们已经完成了所有初始化,你可能会发现,选定芯片以后,SYS就已经是绿色的,这表明已经已经配置好,这是CubeMx自动配置的,它默认为系统的滴答时钟,我们也可以修改为TIM1等等其他时钟源,它用来系统的延时函数,详细见:系统延时函数
在点击生成代码之前,我们需要指定生成的路径,工程,堆栈等等,这些配置在Project Manag中:
STM32CubeMx 建立 TrueStuido LED 工程
其中堆栈区保持默认,在有生成有任务系统的工程中,则要特别注意修改到合适的堆栈区,如果堆栈太小,会导致任务不能顺利运行。配置好以后,点击 GENERATE CODE就可以生成代码:
STM32CubeMx 建立 TrueStuido LED 工程
点击Open Project打开工程:
STM32CubeMx 建立 TrueStuido LED 工程

编写用户代码

基本工程以后,就可以开始编写程序,我们以LED的闪烁为例,在main.c中写入一下函数:

 /* USER CODE BEGIN 3 */
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_Delay(300);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_Delay(300);
 /* USER CODE END 3 */

需要特别注意,由于我们的使用STM32CubeMx生成代码的时候,会改动我们的文件,所以需要在带有 BEGIN 和 END 的两个注释块直接写入代码,本文把代码写在 /* USER CODE BEGIN 3 /, / USER CODE END 3 */之间:
STM32CubeMx 建立 TrueStuido LED 工程

下载程序

首次编译需要完整构建一次工程,时间相比稍长。点击工具栏的Debug,下载程序,并进入硬件调试环境:
STM32CubeMx 建立 TrueStuido LED 工程
由于我们使用的是默认的ST-Link,所以无需配置下载工具,如果你使用的是J-LInk,可以在工具栏 Debug配置中进行修改。
STM32CubeMx 建立 TrueStuido LED 工程
当我们点击Debug(绿色小虫)时候,TrueStudio开始编译并下载程序到MCU中,期间很可能提示ST-LINK错误,这可能是没有设别引起的,需要检查驱动。如果检测到你的ST-LINK固件版本过低,会提示你升级(移开第一个窗口,才可以看到后面升级固件的提示):
STM32CubeMx 建立 TrueStuido LED 工程
点击是以后进入ST-Link升级界面,注意要先点击Device Connect 连接上 ST-LINK:
STM32CubeMx 建立 TrueStuido LED 工程
连接上以后,Yes>>>> 按键成有效状态,既可以点击升级。
STM32CubeMx 建立 TrueStuido LED 工程
升级以后即可以通过ST-LINK下载并调试工程。