* 导师视频讲解:[去听课](https://www.bilibili.com/video/BV1Cb4y1171H?p=15)
>[success] **技术支持说明**
> 1.**客服**提供简单的技术支持,一般自主学习为主
> 2.可到官方问答社区中提问:[**去提问**](https://bbs.csdn.net/forums/nb-iot)
> 3.工程师**会尽快**解答社区问题,但他们是一线开发,【**难以保证**】解答时效,解答辛苦,感谢理解!
<br/>
上节课讲解了如何创建工程,但其实ST官方已经创建好一个模板工程,开发者只需要移植该模板工程并进行必要配置即可。
<br/>
## **下载ST的标准库**
本节课需要使用ST标准库,其所在目录:
* 《STM32+无线通信开发指南》配套软件工具\6. STM32F0Stdlib.zip
>[info] 如您还没下载,可前往下载页:[前往](2384616)
<br/>
## **官方模板工程的移植**
创建一个用于存放工程文件的文件夹,并命名为Project。笔者也创建的了一个Project文件夹,在配套资料的如下目录中:
```
//1.STM32开发/2.3 官方标准工程模板/Project
```
<br/>
在标准库中的目录:
```
STM32F0Stdlib\en.stm32f0_stdperiph_lib\STM32F0xx_StdPeriph_Lib_V1.5.0\Projects
```
找到官方模板工程,如图所示。
![](https://img.kancloud.cn/e6/a9/e6a90276a97d8a62a7bfb066bd623faf_620x142.png =300x)
<br/>
把官方模板工程中的以下内容复制到刚才创建的 Project 目录中,如图所示。
![](https://img.kancloud.cn/57/f7/57f75beab3047bc51ce38cbc032bceab_656x325.png =500x)
<br/>
复制后的结果如图所示。
![](https://img.kancloud.cn/8a/6a/8a6a5efd8c00ded8d7bc7598d653b3e1_318x300.png =200x)
<br/>
接着,把标准库中的 Libraries 目录也复制过来,如图所示。
![](https://img.kancloud.cn/30/82/3082bbf32c99ede31ab226cdc4363bfe_337x329.png =200x)
<br/>
打开MDK-ARM 目录,打开工程文件
![](https://img.kancloud.cn/07/1b/071ba672ecf628573ba4bf7fcaf4e06d_320x199.png =200x)
<br/>
打开文件管理器
![](https://img.kancloud.cn/8e/65/8e65063a2c4a2c7d53c8435f139c1294_861x382.png =500x)
<br/>
选择芯片型号 STM32F030
![](https://img.kancloud.cn/ca/2b/ca2ba2b73c231291e827d1d3585f834f_803x599.png =500x)
<br/>
除 STM32F030 外,把其它型号全部删除
![](https://img.kancloud.cn/a3/0f/a30f01ab3b5d71b5e06464dba99a90e4_803x599.png =500x)
###
删除方法如下:
* 选中对象,然后点击红色“Delete”
![](https://img.kancloud.cn/d0/0b/d00bf2fa957782625eace24622e566a8_803x602.png =400x)
* 删除完成
![](https://img.kancloud.cn/c8/71/c871c1a2ee5c0a14628f5017994e332f_803x602.png =400x)
<br/>
删除CMSIS中的所有文件
* 选中CMSIS中的所有文件,并点击上方的交叉图标
![](https://img.kancloud.cn/ea/cd/eacd5a4cdf6cd3a1732556c9333de38e_803x599.png =300x)
* 删除完成
![](https://img.kancloud.cn/5c/80/5c804ffed36e125d5c570d788d843e8d_803x601.png =300x)
<br/>
给CMSIS重新新添加文件
* 点击Add Files
![](https://img.kancloud.cn/23/a3/23a39cb77f2fc6f14261336b06f39355_803x601.png =400x)
###
* 返回上一级目录
![](https://img.kancloud.cn/4d/91/4d917c9843620222f6d57f73ee42ed3d_911x649.png =400x)
###
* 进入 Libraries 目录
![](https://img.kancloud.cn/90/0b/900b53b3a4c750fef26cca38da4a5392_911x646.png =400x)
###
* 进入 CMSIS 目录
![](https://img.kancloud.cn/b7/af/b7afc385424cdf0e73280eefe691b15d_911x646.png =400x)
###
* 进入 Device 目录
![](https://img.kancloud.cn/20/89/20893db4f967f155ba61de332e18c8da_911x646.png =400x)
###
* 进入 ST 目录
![](https://img.kancloud.cn/88/d8/88d8d82a408713fd3e6cc2e725ecba6c_911x646.png =400x)
###
* 进入 STM32F0xx 目录
![](https://img.kancloud.cn/4d/e1/4de111e114ef52ccaa7fa40fbf44d759_911x646.png =400x)
###
* 进入 Source 目录
![](https://img.kancloud.cn/a3/36/a33626ad7eed9483deede8bf72f5859e_911x646.png =400x)
###
* 进入Templates 目录
![](https://img.kancloud.cn/fa/78/fa7862e85f9bf44df0737af71ec5b4d5_911x646.png =400x)
###
* 添加 system_stm32f0xx.c文件
![](https://img.kancloud.cn/f1/d3/f1d3e8087ed3b62903bdbf3cde474165_911x646.png =400x)
<br/>
* 添加下一个文件,进入arm目录
![](https://img.kancloud.cn/70/dc/70dc3a36685c4018257c02a4401b3285_911x646.png =400x)
###
* 选择startup_stm32f030.s 文件,然后点击Add,接着点击Close,如图所示。
![](https://img.kancloud.cn/df/d8/dfd85cc84b8a290c3b03bf00ee18971f_511x370.png =400x)
>[warning] 在选择文件前,需要按如图所示把文件过滤器更改为Asm Source file(\*.s\*;\*.src;\*.\*.a\*)
###
* 添加完成,如图所示。
![](https://img.kancloud.cn/c4/81/c48172e4cfedaac9b332ba8f4bdc9588_803x603.png =400x)
<br/>
删除 StdPeriph_Driver 下所有文件
![](https://img.kancloud.cn/72/f2/72f25bba7e9a285d5d658b275f906182_803x603.png =500x)
###
删除完成,点击 "OK"
![](https://img.kancloud.cn/94/34/9434b43c2a70e7c7e93dad7dc0cea03c_803x601.png =500x)
<br/>
<br/>
<br/>
## **官方模板工程的配置**
点击魔法棒
![](https://img.kancloud.cn/0b/3b/0b3b98f40751f7a33365286db921dc4f_649x329.png =500x)
<br/>
点击Device选项卡,选择 STM32F030F4Px
![](https://img.kancloud.cn/35/ee/35ee88830f01c67254533e04f6d31f73_800x601.png =500x)
<br/>
点击Output选项卡,勾选Create Hex File
![](https://img.kancloud.cn/c5/53/c553ea25d7296f447c5ea1ba6cfff4ae_800x603.png =500x)
<br/>
点击C/C++选项卡,在 "C/C++" 选项卡,进行如图所示设置,并且点击OK
![](https://img.kancloud.cn/8e/3c/8e3cd2616ffa7904e345cb11b39395f8_800x604.png =500x)
###
其中,Define内容:
```
USE_STDPERIPH_DRIVER,STM32F030
```
Include Paths内容:
```
..\;..\Libraries\CMSIS\Include;..\Libraries\CMSIS\Device\ST\STM32F0xx\Include;..\Libraries\STM32F0xx_StdPeriph_Driver\inc;..\Libraries\STM32F0xx_CPAL_Driver\inc
```
###
至此,我们已经移植和配置完成,接下来编译一下模板工程。
<br/>
## **编译模板工程**
点击Rebuild,编译整个工程
![](https://img.kancloud.cn/d8/47/d847b0b00d8216fa3325406e5a9c6ae9_641x326.png =500x)
<br/>
如上述操作正确,则编译成功
![](https://img.kancloud.cn/2c/ee/2ceee08d557d58c99c892397e06bd7f9_936x772.png =500x)
<br/>
<br/>
## **商务合作**
如有以下需求,可扫码添加管理员好友,注明“**商务合作**”
* 项目定制开发,技术范围:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等;
* 入驻平台,成为讲师;
* 接项目赚外快;
* 善学坊官网:[www.sxf-iot.com](https://www.sxf-iot.com/)
![](https://img.kancloud.cn/ca/73/ca739f92cab220a3059378642e3bd502_430x430.png =150x)
(非商务合作**勿扰**,此处**非**技术支持)
- 课程介绍
- 配套资源下载
- 配套开发套件简介
- 简介
- 硬件组成 & 技术参数
- 电路原理图 & PCB图
- 拨码开关使用说明
- 第一部分:无线通信 开发指南
- 1.1.1 NB-IoT:技术简介
- 1.1.2 NB:CH34x USB转串口驱动安装
- 1.1.3 NB:AT 指令开发与测试
- 1.1.4 NB:基础指令集简介
- 1.1.5 NB:云端服务器
- 1.1.5.1 PuTTY 简介与安装
- 1.1.5.2 登录云端服务器
- 1.1.6 NB:移远官方工具简介
- 1.1.7 NB:使用UDP协议与云端服务器通信
- 1.1.8 NB:使用TCP协议与云端服务器通信
- 1.1.9 NB:使用MQTT协议与云端服务器通信
- 进阶课程
- 第二部分:STM32 开发指南
- 2.1 搭建开发环境
- 2.1.1 Keil MDK 简介与安装
- 2.1.2 STM32 Pack 简介与安装
- 2.1.3 CH34x 驱动简介与安装
- 2.1.4 其他开发工具
- 2.2 STM32 开发基础
- 2.2.1 新建工程
- 2.2.2 实现第1个程序
- 2.2.3 Hex 文件烧录详解
- 2.3 移植官方标准工程模板
- 2.4 GPIO实验——LED灯
- 2.5 系统延时应用
- 2.6 GPIO实验——按键
- 2.7 GPIO中断实验——按键触发
- 2.8 使用定时器TIM3
- 2.9 串口通信实验
- 2.10 ADC 实验
- 2.11 OLED显示器实验
- 2.12 SDK 设计思想
- 2.13 SDK 架构解析
- 2.14 多任务应用
- 2.15 输入型任务:按键输入
- 2.16 输入型任务:串口接收
- 课外篇:项目实战
- 基于STM32+NB-IoT的温湿度采集
- 系统简介
- 系统搭建
- 系统详解
- 1.代码编译与架构说明
- 2.DHT11温湿度传感器
- 3. 数据通信任务说明
- 版权声明与免责声明