本文章介绍如何使用STM32CubeMX初始化STM32F103R8T6的GPIO,并点亮一个LED。
1、准备工作
硬件准备
- 板子:需要准备一个开发板,或者最小系统板,这里我准备的是STM32F103C8T6的最小系统板。
- 烧录器:需要准备一个烧录器,一遍将程序烧录进板子中。这里我准备的是J-Link。
软件准备
- Keil-MDK5以及芯片对应的包。
- J-link驱动
- STM32CubeMX
2、生成MDK工程
选择芯片型号
打开STM32cubeMX,这里我的STM32cubeMX的版本是5.0.1。
搜索并选中芯片STM32F103C8T6 :
配置时钟源
- 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;
- 如果使用默认内部时钟(HSI),这一步可以略过;
本项目采用的是外部时钟(一般项目都会选择外部时钟):
配置Debug模式
我使用的最小系统板是SWD模式,所以设置为Serial Write模式。
配置GPIO引脚
查看最小系统板的原理图,LED灯接的是PC13引脚。 接下来我们选择配置PC13引脚。
配置时钟树
STM32F1的最高主频到72M,所以配置PLL,最后使HCLK = 72Mhz即可: 以下画圈的部分为修改的部分。
生成工程
以下画圈的部分为修改的部分。
生成成功
3、在MDK中编写、编译、烧录代码
编写用户代码
STM32CubeMX生成的代码目录如下:
进入MDK-ARM目录,打开工程:
在main.c中的main函数的while循环中编写代码:
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
编译代码
编译整个工程:
设置下载器
点击上图的Setting按钮后,选择SW。
设置flash算法
点击下图的Add按钮,选择STM32F10x Med-density Flash 。
下载运行
点击下方的按钮。即可烧录,烧录完成后,板子自动运行程序。
实验现象
实验现象为最小系统板上的小灯不断的闪烁。试验成功! 至此,我们已经学会了如何使用STM32CubeMX快速生成MDK的工程。并且学会使用GPIO操作。
|