STM32-01基于HAL库(CubeMX+MDK+Proteus)仿真开发环境搭建(LED点亮测试实例)
- 一、 开发工具版本列表
- 二、安装过程
- 三、实例测试(点亮单个LED)
- 0、功能需求分析
- 1、Proteus绘制电路原理图
- 2、STMCubeMX 配置引脚及模式,生成代码
- 3、MDK打开生成项目,编写HAL库的点灯代码
- 4、运行仿真程序,调试代码
一、 开发工具版本列表
工具 | 版本 | 功能 |
---|---|---|
STM32CubeMX | 6.61 | 生成MDK项目、图形化配置功能模块 |
MDK | 5.14 | 编写下位机代码 |
Proteus | 8.9 | 仿真软件(需要安装8.8以上版本) |
二、安装过程
安装顺序没有先后,可以根据链接下载程序安装。
安装包过大,大家可以去网上自行下载。
三、实例测试(点亮单个LED)
0、功能需求分析
使用PA0、PA1引脚完成LED1、LED2的控制,低电平驱动方式,上电后点亮。
1、Proteus绘制电路原理图
Proteus绘制需要对基本元器件的名称有一定了解,如下方的发光二极管LED、电阻RES,可以在网上查找对应的元器件名称列表,方便以后绘制。
绘制电路原理图的步骤:创建画布=》芯片选型及放置=》元器件选型及放置=》连接电路=》修改元器件参数=》仿真运行。
下图为绘制LED所需元器件清单。
下图为点亮LED的电路原理图。
下图
2、STMCubeMX 配置引脚及模式,生成代码
接下来,根据原理图绘制,创建CubeMX项目,配置引脚及工作模式,生成MDK项目代码。
创建项目,在Pinout配置模块,点击PA0,选择GPIO_Output推挽输出模式,同理,配置PA1。
在clock单元,配置系统时钟为72MHz。
在Project单元,填写项目名称、保存路径、IDE和版本。
在 code generator中,配置添加库的方式为所需库,用户代码在每次项目重新生成时保留。
配置完成,通过以上步骤,完成了2个LED引脚的模式配置及时钟配置,接下来,点击GENERATE,生成项目代码。
找到生成路径,可以看到项目目录文件。
3、MDK打开生成项目,编写HAL库的点灯代码
从上面步骤中,生成了MDK项目。
在MDK-ARM目录中,找到项目快捷方式,打开项目。找到main.c文件,在main函数的while循环中,添加如下代码,此代码块也可以放在while循环上方,一般初始化代码,只执行一次的会放在这里。
在项目中勾选生成HEX选项,HEX文件就是MDK编译生成的十六进制文件,作为烧录到开发板的源程序文件使用,当然,这里我们使用仿真,在Proteus中加载HEX即可。
点击编译程序,生成HEX文件。在编译窗口显示生成了以下信息,则编译成功,保证 0 errors再进行下一步。
4、运行仿真程序,调试代码
在Proteus中,双击芯片,选择加载程序路径。
01_LED\LED-MDK\MDK-ARM\LED-MDK
上面是我的项目的HEX文件目录路径。
点击仿真按钮,运行程序,查看功能执行结果。
可以看到,两个黄色LED被点亮,功能正常。
至此,我们已经完成了STM32的开发环境搭建以及测试案例的编写,后面,会给大家介绍更多的功能。