目录
一、STM32CubeMX的环境搭建
1、安装JRE
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用
官网:https://www.java.com/en/download/manual.jsp
- 点击下载
-
点击安装
-
修改路径
-
等待安装完成
- 安装完成
- 检测安装是否完成
进入命令行,检测java版本,出现下图情况即安装成功。
2、安装STM32CubeMX
官网下载:https://www.st.com/en/development-tools/stm32cubemx.html?sc=stm32cubemx
- 打开安装包
- 点击next
- 勾选accept,点击next
-
勾选第一个,再点击next
-
选择你的安装路径,再点击next
注意:上面的安装路径里面的文件夹必须是空的
点YES 这句话是安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续
- 点继续即可
- 安装完成,退出
3、安装HAL库
STM32 HAL
固件库是Hardware Abstraction Layer
的缩写,中文名称是:硬件抽象层。HAL
库是ST公司为STM32
的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32
产品的最大可移植性。
- 打开STM32CubeMX软件,点击
help
->Manage embedded software packages
- 勾选上你要安装的HAL库, 点击
Install Now
直到安装成功
我们选择最新版本点击install now,from local是本地下载,一般适用于提前有固态件的,新手选择install now。
- 出现小绿点,表示安装成功了。
二、STM32CubeMX实现流水灯
1、新建工程
2、配置环境
- part name输入自己的芯片,我这里是STM32F103C8。
- 点击右下方的封装模式,我这里是LQFP48。
- 点击start project,即可开始工程项目。
- 点击System Core。
- 进入里面的SYS。
- debug那里选择Serial Wire。
3、时钟配置
配置时钟了,进入上面的Clock Configuration,有两个时钟,一个是hse和lse,我们要用是GPIO接口,而这些接口都在APB2里。
- 将hse那里设为Crystal/Ceramic Resonator。
4、引脚设置
-
output那一项选择PA7,PB9,PC15。
-
点击System core里的GPIO,把输出等级改为high。
-
点击project manager
-
配置路径
-
修改项目名
-
IDE修改为MDK-ARM
-
进入code generate界面
-
选择生成初始化.c/.h文件
-
点击generate code
三、keil仿真调试并生成.hex文件
1、添加代码
- 打开keil刚生成的项目
- 将while循环代码加入到.c文件的主函数里面
SystemClock_Config();//系统时钟初始化
MX_GPIO_Init();//gpio初始化
while (1)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);//PA7亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);//PA7熄灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(500);//延时0.5s
}
2、编译程序
- 编译结果无误
3、烧录代码
- 打开FlyMcu,开始烧录代码
注意:烧录代码时,boot0接1,boot1接0,USB上的RXD接芯片上的A9,TXD接芯片上的A10,以及USB上的电源和地都需要与芯片相连,芯片上的地和电源该在面包板上连通的也需要对应连通。
4、效果演示
接图如下:
- 点灯显示
注意:连接情况与上面基本不变,仅仅将boot0接为0,否则灯不能亮。
接图如下:
四、Keil观察3个GPIO端口的输出波形
1、设置仿真模式
点击魔法棒,进入debug,进行如下图的配置:
2、使用逻辑分析仪
- 点击logic analyzer,进入逻辑分析仪
- 点击setup,添加串口引脚
- 点击下图的添加串口,可以直接输入PORTX.Y,X是你的GPIO口号,Y是你的引脚号。
注意:你的display type一定都要改成bit。
- 显示波形图操作,依次点击下两图符号。
- 如果波形图不明显,可以试着调节,可以点击zoom下面的几个键进行调整。
- 波形图显示如下:
五、总结
第一次使用STM32CubeMX感觉效果挺佳,尤其是它的自动生成代码,给我们减轻了许多代码的烦恼,我们只需加入主函数代码即可,但关于他的一些配置我还不是很熟悉,需要慢慢摸索。