STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二)
写在前面的话:本篇是承接上一篇文章,属于小白向。
没看过的朋友点这里👇
上一次已经生成了初始化文件,这一次就完成程序的仿真下载和运行。
硬件和知识需求
C语言编程知识
最基础的数字电路模拟电路知识
一块STM32开发板(本文采用的是STM32F407 YS-F4Pro开发板)
一个仿真器和必要的连接线,笔者使用的是ST-Link仿真器
一台电脑
LED灯,面包板,杜邦线(非必需)
软件需求
本文采用的是64位Windows10系统电脑,使用软件包括STM32CubeMX、IAR。除了IAR外,Keil4、Keil5也是可以的,不过更推荐IAR。
IAR和Keil都是既可以编程,又可以进行程序仿真下载的软件。
如果像笔者一样是使用ST-Link程序仿真下载,这里介绍另一个软件:
这个软件需要编程工具(IAR或者Keil)生成hex文件,然后仿真下载程序。
配置流程
分三步走:
STM32CubeMX软件生成初始化程序(具体步骤见上一篇)
在IAR或者Keil中打开初始化程序进行编辑,然后仿真下载程序,也就是俗称的烧写程序到芯片
连接超简单的硬件电路,单片机GPIO口---LED---单片机GND口,最后调试!开亮!要有光!
IAR软件使用
首先找到上次生成的初始化程序,打开其中的EWARM文件夹
找到其中的Project.eww文件,用IAR打开
IAR界面如下,我的是8.23版本
左边是WorkSpace,工作空间,对C语言熟悉的人来说,这个界面的使用也不会陌生。
我们点击工作空间里子文件夹的+号,展开如下,其中对我们最重要的就是main.c文件
双击main.c文件打开。
找到main函数,学过C语言的都知道,程序最后运行的就是main函数,所以有必要的话可以自己阅读一下这里。
代码部分不再赘述。
我们可以看到程序已经由CubeMX初始化好了。
但是其中有很多的注释。
我简要介绍下注释的意思,CubeMX毕竟是一个自动生成代码的软件,所以如果在后续程序代码的编写时,还需要用到CubeMX修改初始化参数,就必须遵守它所规定的模板。
也就是说,我们所有代码都要写在CubeMX注释所指定的地方,否则我们之后用CubeMX运行ioc文件,修改配置,然后生成EWARM文件夹的时候,新生成的程序代码里会把没写在规定位置的代码抹掉。
举个栗子:
图里就是告诉你,用户代码的初始化代码,必须写在78行和80行,这两行注释之间。
再比如这张图,用户代码如果写在了91行,那在CubeMX重新生成程序的时候会被抹掉。
IAR软件的Debugger配置
接下来我们把鼠标移到工作空间的下图蓝色位置,点击右键,选择Options
弹出设置菜单,我们在左边找到Debugger,然后在右边的Driver一项里选择自己需要的仿真器,我这里用的是ST-Linker,所以选了ST-Linker。
之后在Debugger子目录下寻找自己刚刚选择的仿真器。
低版本的红圈部分,可能要选择Reset Pin
一般情况下CubeMX都配置好了,不再需要额外修改。
IAR软件仿真下载
最后一步,就是“烧写”程序了。
先把线接好。
接线有两个部分:
给板子供电。方法很多,具体取决于工控板的设计。一般来说可以用DC口,也可以用miniUSB口。我这里直接miniUSB口插一根miniUSB-USB的线,插到充电宝上。
板子接仿真器再接电脑。
接好线之后可以打开设备管理器确认一下有没有插好线。
Windows10系统里,可以在开始菜单搜索设备管理器,然后打开。
之后我们再按照图里的顺序点击。
先点击1,也就是make,会检查和编译,然后输出可执行文件。
等待操作完成以后,点击2,也就是download and debug,即仿真下载和调试。
这样就完成了烧写程序的工作啦!
进入调试模式之后,我们看到的界面如下:
画红框的几个按钮很好理解
Step Over,步进,这是逐过程地运行。简单理解就是,运行到下一行。
Step Into,步入,简单理解就是运行到函数里面去。
Step Out,步出,简单理解就是运行完当前函数,跳出去。
Next Statement,设置断点的话,就是直接运行到下一个断点,不设置的话就跟Step Over差不多。
Go,简单理解就是让它自由自在地跑下去。
Reset,复位,简单理解就是回到main函数的第一行开始运行。
当然,我们也可以完全不调试。
直接退出,单片机就会自动执行程序。
来欣赏结果
其实我设置的时候,特地设置成了板子上自带的LED灯的引脚。
所以现在的效果就是,这三个灯常亮啦。
流水灯效果
下一篇我们将会讲解怎么做流水灯效果。
炫酷哦。
ZCG127
校验提示文案
老木曾雪菜
校验提示文案
noalone
校验提示文案
money9999
校验提示文案
泛天
校验提示文案
燃烧吧卡路里
小白表示有东西可倒腾了
校验提示文案
wanian
校验提示文案
wanian
校验提示文案
燃烧吧卡路里
小白表示有东西可倒腾了
校验提示文案
泛天
校验提示文案
ZCG127
校验提示文案
money9999
校验提示文案
noalone
校验提示文案
老木曾雪菜
校验提示文案