之前有粗略地学习过stm32F103的理论知识,但仅GPIO的配置、时钟配置就让人望而却步。现在手头有Nucleo STM32F042的开发板,而且ST已经推出STM32CubeMx图形化的工具软件,便于图形化配置硬件自动生成初始化代码,无论于熟手还是初学者都是个福音,因此可趁着便利条件逐步学习STM系列单片机的编程以及记录下学习的实践过程。
以下是基于keil点亮LED的实践,其实开发板到手时,芯片已经有烧写程序,装好驱动,接上USB线LED灯就能闪亮了,另外还可以通过云端mbed开发程序,这又是一大变革,与时俱进。
首先创建工程之前安装三个软件:Keil uVision 5,STM32CubeMX 4.15, STM32 ST-Link Utility,期间还要一些驱动软件。
创建项目工程
启动STM32CubeMx,点击蓝色“NewProject”,就手中的开发板芯片类型选择配置
接下来查看原理图的LED灯所在的线路,通过MB1180.pdf文件可以找到LED对应的GPIO口
完成上一个对话框,就可以进入管脚、时钟等的配置,点击相应的管脚就会弹出管脚模式选择的对话框,图中选作输出模式
点击“Clock Configuration”可以配置时钟,这里没有作特殊配置,就作默认选择,其他选项卡也不作特殊配置。
点击Configuration选项卡
最后点击Apply ,OK就配置完成。
点击图标栏图标生成项目
弹出的对话框,按英文提示填入必要信息以及选择keil相应的开发环境
完成项目创建后,弹出
点击“Open Project”,打开uVision 5 开发环境,打开Main.c 主程序
打开main.c 可以看到STM32CubeMx自动生成的初始化代码,在GPIO的初始化代码里找到LED所对应的GPIO初始化代码,复制红色框部分
粘贴在如下位置,并修改、添加如下代码
保存并调试,生成HEX文件。
下载烧写目标文件
用USB线连接开发板,电脑任务栏会弹出类似U盘的识别符号,打开ST-LINK Utility ,点击Target->connect,成功连接开发板后,右上角和左下角都会显示开发板信息
点击Target->erase chip,擦除芯片中原有的程序,点击确定。
点击File->Open File,打开keil中生成的hex文件
点击Target->Program &verify 烧写程序,弹出对话框,点击start
烧写完成后,LED绿色灯就可以闪了