3.5 项目实战:零代码点亮LED

# 3.5 项目实战:零代码点亮LED

下载项目代码: 下载代码

本节将使用STM32CubeIDE通过自动生成代码的方式点亮三色LED的蓝色灯。LED阳极通过1K电阻分别连接PA7(蓝)、PB0(红)、PB1(绿),阴极接地。配置PA7为高电平,PB0/PB1为低电平即可点亮蓝色LED。通过本实验可了解STM32CubeIDE工程文件结构及代码生成机制。

点击查看PDF文档

# 3.5.1 STM32CubeMX配置

# 1. 运行STM32CubeIDE

双击桌面STM32CubeIDE图标启动软件:
运行STM32CubeIDE

# 2. 设置工作区间

新建"STM32_Workspace"文件夹(建议在空间充足的磁盘如E盘),设置好路径后点击"Launch":
建立工作区间

# 3. 新建工程

FileNewSTM32 Project
② 输入芯片型号"STM32F103C8T6"并选中;
③ 命名工程为"03-Example1"并完成创建:
建立新工程
选择目标芯片
设置工程名称

# 4. 引脚分配

① 进入"Pinout & Configuration"标签页;
② 点击PA7引脚;
③ 设置为"GPIO_Output":
分配引脚

# 5. GPIO配置

①点击“Pinout&Configuration”标签页;
②点击“Categories” ;
③点击“System Core”;
④点击“GPIO”;
⑤点击“PA7”;
⑥设置“GPlO output level”为“High”;
配置GPIO

# 6. 生成代码配置

① 进入"Project Manager"
② 点击"Code Generator";
③ 勾选"Generate peripheral initialization as a pair of '.c/.h' files":
生成.c/.h文件对

# 7. 保存并生成代码

点击保存图标(或按Ctrl+S)自动生成代码,勾选"Remember my decision"并确认:
保存设置
选择生成代码
跳转到main.c文件

生成后的main.c文件结构:
main.c文件

# 8. 工程文件说明

  • Includes文件:Includes的作用是管理项目中的头文件包含路径,确保编译时能正确找到所有必要的头文件,包括HAL库、CMSIS、用户自定义头文件等。
  • Core文件夹
    • Inc子文件夹:包含所有自动生成的头文件。
    • Src子文件夹:包含所有自动生成的源代码文件。
    • Startup子文件夹:包含启动文件,通常是汇编文件,扩展名为.s,这些文件负责在程序开始执行时进行一些底层的初始化工作,为后续的C程序运行环境做好准备。
  • Drivers文件夹
    • CMSIS子文件夹:包含与芯片相关的CMSIS文件。
    • STM32F1xx_HAL_Driver 子文件夹:包含HAL库的源代码和头文件。
  • .ioc:.ioc文件是STM32CubeMX的配置文件,用于保存芯片的外设配置信息。它包含了芯片的外设设置、时钟配置、引脚设置等信息。
  • .ld:.ld文件是链接器脚本文件,其主要作用是定义程序的内存布局和段分配。具体来说,它定义了程序的各个部分,如代码段、数据段和堆栈等,在目标设备内存中的位置和大小。
  • Binaries文件:自动生成的Binaries文件夹用于存放编译后生成的二进制文件。
  • Debug文件夹:Debug文件夹用于存储编译和调试过程中生成的文件。
  • .launch文件:.launch文件的作用主要是用于配置和启动调试会话。

# 9. 代码注释对的作用

用户代码必须写在/* USER CODE BEGIN *//* USER CODE END */之间,否则重新生成代码时会被覆盖。示例如下:

/* USER CODE BEGIN WHILE */
// 用户自定义代码
/* USER CODE END WHILE */
1
2
3

# 10. 编译下载程序

ST-LINK下载器一端连接电脑,另一端连接至STM32的SWD接口。随后点击绿色小箭头图标即“Run”按钮编译并下载程序。 编译并下载程序 烧录成功提示: 烧录成功

# 3.5.2 项目验证

蓝色LED点亮效果: 实验结果图