浏览量: 256 次浏览

STM32 搭建学习环境

2019年4月1日 0 作者 Nie Hen

大二下学期开了一门单片机的课STM32,之前了解过51单片机,对STM32的了解仅限于知道有点难..
不过实际的去学去做发现,简单应用还是可以的,深入开发还是需要费点时间。
下面会对我学到的stm32知识进行总结。(参考了老师的ppt)

下面所使用到的安装包我都放到了个人网盘分享出来了,下载链接
(安装cubemx需要提前装java jdlk,其他安装都是傻瓜式安装)

STM32

可以称为微控制器,也可以称为单片机。
可以理解成在一片集成芯片上集成计算机的组成部分
与计算机的区别 :本质上就是计算机,更加偏向于控制系统的应用,是计算机发展中与通用处理器同样重要的另一个分支。
有输入输出设备和处理单元
enter description here
我们学习使用的单片机
enter description here
应用领域还是很广的 :
比如 家电玩具: 移动设备,平板电脑,网络设备,各种玩具等
物联网 :共享单车,智能家居设备,可穿戴设备等等

STM32CubeMx

STM32CubeMX是ST意法半导体的主动原创工具,允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用。
(如果偏应用为主的建议直接使用cubemx开发,如果要深入学习32,建议使用之前经典的标准外设库来开发 先学习标准外设库,但有必要抽时间了解STM32CubeMX)
STM32CubeMX集成了一个全面的软件平台,支持STM32每一个系列的MCU开发。
enter description here =800*400

创建新的工程可以对MCU型号直接进行选择,还可以指定系列 封装 外设等条件
enter description here =800*400

安装元器件包
根据板子的型号进行安装,如果安装不正确或者没安装 就无法正常使用
enter description here =600*500

可以根据型号选择在CubeMx里面安装(慢),或者是在网上下载好直接导入安装。

使用CubeMx配置模块
选择好对应的型号后 会出来图像化配置的界面
enter description here =800*400

里面可以对 时钟,AD,GPIO口,串口,中断,定时器等进行直接配置 。
对GPIO配置(“通用可编程I/O端口)
enter description here =800*400

对时钟进行配置
enter description here =800*400

对AD和定时器进行配置
enter description here =200*300

I2C 串口通信配置
enter description here =200*300

根据实际场景需要配置相关模块,不同模块配置方式不同,不同场景下参数调整也不同。

生成代码
在生成代码之前需要将保存环境,以及接下来使用的编译软件选择好。否则生成代码会进度条会卡死。
enter description here =600*400

填写项目名称(Project Name),所在位置(Project Location),打开软件(IDE)一般使用的是Keil5 选择 MDK-ARM v5.
这些都配置好之后,点击右上角 GENERSTE CODE 就会进行合成代码

enter description here
然后会有一个进度条,跑完之后使用CubeMx的任务就完成了。

enter description here
点击Open Project 的话就会使用之前配置的IDE进行打开该项目。
在项目文件夹中 直接点开ioc后缀的图标可以直接进行打开项目并修改

enter description here

Keil5

使用cubemx只是辅助更快捷的配置一些模块,真正的应用还是需要在合成代码基础上进行修改代码,而修改代码使用的编译器就是下面提到的keil5.

Keil C51是美国Keil软件公司(现已被ARM公司收购)出品的支持8051系列单片机架构的一款IDE(集成开发环境)。
支持的芯片有几百种,不仅支持51,也支持32.
当时记得有人说keil5也需要配置芯片包,不过我没配置也能使用。如果需要配置可以到官网下载,安装。链接地址

使用keil5打开cubemx合成的代码
可以在合成之后直接打开,也可以到项目文件夹下MDK-ARM文件夹下进行打开,双击uvprojx文件就可以打开这个项目
enter description here

打开之后,一般是对main.c 里面的代码进行操作,当然也会用到其他代码。
enter description here

根据项目的需要对代码进行添加,修改。然后就可以进行保存,调试,生成等操作
enter description here

如果代码没什么问题的话就能够调试成功,并生成一个后缀为hex的文件
enter description here
这个文件是要烧写到板子里面去的。

烧写工具

在电脑端写好的代码还是需要传到单片机上使用,讲写好的代码生成一个hex文件,通过烧写工具,对hex文件进行传输到单片机上。

我这里使用的是FlyMcu工具。(这种工具网上有很多)
enter description here

需要配置的地方
下面那栏选择 DTR的低电平复位,RTS高电平进BootLoader (为什么选这个我不是很懂)
enter description here
不然烧写会不成功

上面 开始编程 旁边,也可以配置一下 选择校验和编程后执行。(根据需要想应调整)
enter description here

烧写程序
先选择好需要烧写的hex文件 可以文件夹打开或直接输入绝对路径
然后搜索串口
选择上传单片机所在的串口号
选择波特率 (一般是115200)
点击开始编程。
enter description here
烧写结果
烧写成功会显示 一切正常
enter description here

烧写失败也会有相应提示,
可以先清除芯片试试,或者按复位键 开关键调试
如果都不行,就要检查hex文件,烧写工具配置等等。
(以上使用的所有工具,安装包下载链接都在最上面网盘链接)