一、登录ST官网,完成注册
二、按照如下截图逐一点击。
![](https://img.haomeiwen.com/i4563513/44f681ffd4c9095a.png)
![](https://img.haomeiwen.com/i4563513/750c4f46419e0e2d.png)
![](https://img.haomeiwen.com/i4563513/bac351d7ab74593b.png)
![](https://img.haomeiwen.com/i4563513/24696c993ee29cf0.png)
下载后两个压缩包:
![](https://img.haomeiwen.com/i4563513/4d7d11184429da34.png)
解压后,一个是F0系列,一个是F1系列,其他的系列一样的下载方式。
![](https://img.haomeiwen.com/i4563513/771dc419dab2b828.png)
三、库文件有哪些?
在深入看库文件有什么前,要先建立概念:
1、什么是内核,什么是外设?
什么是寄存器,这文章说到,内核就是CPU,外设(核外外设、片上外设)就是IO口、各种通讯接口(USART、SPI、I2C等等),还有一种本人自己加上说区分的,片外外设,比如各种传感器(摄像头、红外、霍尔、超声等等)或者驱动(如电机驱动),这些通过片上外设将信息与内核连接起来。但是在讲STM32的时候,外设一般只是说片上外设。
![](https://img.haomeiwen.com/i4563513/36d5945180dc877f.png)
2、库文件有什么?
参考这个链接初识HAL固件库
核心是Libraries文件夹。
![](https://img.haomeiwen.com/i4563513/ee73417d81e18811.png)
然后用到的文件的对应关系,必须关注左侧的用户层、CMSIS层、核心层,这个层的分布也决定了工程模板的文件架构。
![](https://img.haomeiwen.com/i4563513/4020823112d0306f.png)
四、工程模板结构
结合上一个图看看,
- CMSIS核心层的文件,都放在了CMSIS文件夹
- 外设驱动文件都放在了FWlib文件夹
- 用户层文件都放在User文件夹。
![](https://img.haomeiwen.com/i4563513/2908a7d8bcf36d29.png)
![](https://img.haomeiwen.com/i4563513/028993c835397a67.png)
五、新建一个工程模板
之前所有都是知识铺垫,就是让你知道后续的工程模板建立是为什么这么建立的。
参考:新建工程—库函数版和如何为STM32F030建立工程模板6。
对教程的补充:
1、工程框架怎么弄
![](https://img.haomeiwen.com/i4563513/c6f5a447444fff63.png)
![](https://img.haomeiwen.com/i4563513/3f630d937026ae5a.png)
![](https://img.haomeiwen.com/i4563513/966a0b288cfee1db.png)
![](https://img.haomeiwen.com/i4563513/7128f83df185b339.png)
![](https://img.haomeiwen.com/i4563513/6345c199936efc3f.png)
![](https://img.haomeiwen.com/i4563513/6aff81c685275526.png)
![](https://img.haomeiwen.com/i4563513/2908a7d8bcf36d29.png)
F030的工程架构
![](https://img.haomeiwen.com/i4563513/de5c1ee0ab797c8d.png)
CMSIS多那么多文件,哪里来的?
![](https://img.haomeiwen.com/i4563513/42a3bc6bccfdc110.png)
2、启动文件怎么选
![](https://img.haomeiwen.com/i4563513/f28a85f7c01ade5a.png)
![](https://img.haomeiwen.com/i4563513/65d645982aa72c43.png)
![](https://img.haomeiwen.com/i4563513/e763be4692c5b12b.png)
3、C/C++怎么处理
![](https://img.haomeiwen.com/i4563513/da879918bd27905c.png)
重点讲讲Define里面加入:STM32F10X_MD, USE_STDPERIPH_DRIVER
- USE_STDPERIPH_DRIVER,从下图可以看出,只有define了这个,main.c里面的头文件stm32f10x.h的#include "stm32f10x_conf.h"才能执行,头文件stm32f10x_conf.h里面的一系列外设头文件才能包含进去,外设的.c文件才能用,外设才能用上。
![](https://img.haomeiwen.com/i4563513/ad05062fada860ef.png)
![](https://img.haomeiwen.com/i4563513/10a3f4e78edd10d6.png)
F030的
![](https://img.haomeiwen.com/i4563513/4f58216636847a28.png)
![](https://img.haomeiwen.com/i4563513/1b77b39687da20a3.png)
-
STM32F10X_MD
会根据不同的define进行一些寄存器、中断等差异化的处理。
image.png
F030的
![](https://img.haomeiwen.com/i4563513/6d4eced94d83a230.png)
4、下载设置
直接上淘宝链接。
网友评论