[其他ST产品] STM32CubeMX的安装以及使用实例

[复制链接]
1425|61
 楼主| 工程师犹饿死 发表于 2023-3-29 10:52 | 显示全部楼层
选择你需要的HAL的版本和适用的芯片类型,并点击Install Now进行安装
636326423a7e54bf89.png
 楼主| 工程师犹饿死 发表于 2023-3-29 10:52 | 显示全部楼层
正在安装
105446423a7f9e140c.png
 楼主| 工程师犹饿死 发表于 2023-3-29 10:54 | 显示全部楼层
完成安装的情况

937366423a84dc7b54.png
 楼主| 工程师犹饿死 发表于 2023-3-29 10:59 | 显示全部楼层
二、实例——流水灯
1.利用STM32CubeMX生成工程文件,并生成代码
810916423a991a3ac9.png
(1)新建工程
打开STM32CubeMX,点击New Project建立新工程

(2)选择MCU
硬件我用的是STM32F103C8,所以Part Number中我选择的是STM32F103C8

选择好后,点击Start Project来开始工程
 楼主| 工程师犹饿死 发表于 2023-3-29 10:59 | 显示全部楼层
(3)配置时钟
接着我们来配置时钟,进入RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)、

556216423a9a372ab1.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:00 | 显示全部楼层
点击进入 Clock Configuration 界面,配置系统时钟 SYSCLK 为 72MHz,修改 HCLK 的值为 72 ,回车后,软件会自动修改所有配置(注意圈出来的地方的信息)
318816423a9b25bc1e.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:00 | 显示全部楼层
(4)配置调试模式
点击进入SYS 设置,Debug 处设置为 Serial Wire
555816423a9c879ace.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:00 | 显示全部楼层
(5)配置GPIO
点击进入GPIO 设置,在右边图中找到 LED 灯对应的输出引脚,选择 GPIO_Output,这里我选的PA5、PA6、PA7为LED的端口
8576423a9d66c263.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:01 | 显示全部楼层
为管脚命名
55356423a9f50be4f.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:01 | 显示全部楼层
(6)工程配置以及代码生成
点击进入project manager界面,输入项目名和项目路径,选择应用的 IDE 开发环境 MDK-ARM V5
注意:地址路径中不可包含中文目录

 楼主| 工程师犹饿死 发表于 2023-3-29 11:01 | 显示全部楼层
点击 GENERATE CODE 生成代码
966536423aa170030a.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:03 | 显示全部楼层
2.代码完善
找到刚才生成的main.c函数
468206423aa8adcea6.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:04 | 显示全部楼层
双击打开main.c文件,发现里面只有初始化,需要我们进一步完善代码


自动生成的代码是由HAL库版本的代码,这里调用的函数是其已经编写好的函数,如下:
42956423aaa02b574.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:04 | 显示全部楼层
完善代码如下:
  1. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//将PA5设置为高电平
  2. HAL_Delay(100);\\延时
  3. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);//将PA5设置为低电平
  4. HAL_Delay(100);\\延时
  5. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET);//将PA6设置为高电平
  6. HAL_Delay(100);\\延时
  7. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET);//将PA6设置为低电平
  8. HAL_Delay(100);\\延时
  9. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);//将PA7设置为高电平
  10. HAL_Delay(100);\\延时
  11. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);//将PA7设置为低电平
  12. HAL_Delay(100);\\延时
 楼主| 工程师犹饿死 发表于 2023-3-29 11:05 | 显示全部楼层
3.生成.hex文件
找到用CubeMX生成的.uvprojx,双击打开
502196423aada6f206.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:07 | 显示全部楼层
找到main.c后,双击打开
254936423ab4a08af5.png

编译运行
755186423ab52696ee.png
编译成功

743176423ab5b1a475.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:07 | 显示全部楼层
目录下出现.hex文件
329816423ab726a7d9.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:07 | 显示全部楼层
4.程序烧录及结果
打开FlyMcu,找到需要的.hex文件,然后点击烧录
65796423ab85e27e3.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:19 | 显示全部楼层
三、Keil的软件仿真逻辑分析(波形图)
1.设置环境
点击“魔法棒”进入设置界面
372406423ae301b5ea.png
 楼主| 工程师犹饿死 发表于 2023-3-29 11:20 | 显示全部楼层
点击进入Debug界面后,调整3处地方,然后点击OK
583886423ae8649817.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部