* 導師視頻講解:[去聽課](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
```
找到官方模板工程,如圖所示。

<br/>
把官方模板工程中的以下內容復制到剛才創建的 Project 目錄中,如圖所示。

<br/>
復制后的結果如圖所示。

<br/>
接著,把標準庫中的 Libraries 目錄也復制過來,如圖所示。

<br/>
打開MDK-ARM 目錄,打開工程文件

<br/>
打開文件管理器

<br/>
選擇芯片型號 STM32F030

<br/>
除 STM32F030 外,把其它型號全部刪除

###
刪除方法如下:
* 選中對象,然后點擊紅色“Delete”

* 刪除完成

<br/>
刪除CMSIS中的所有文件
* 選中CMSIS中的所有文件,并點擊上方的交叉圖標

* 刪除完成

<br/>
給CMSIS重新新添加文件
* 點擊Add Files

###
* 返回上一級目錄

###
* 進入 Libraries 目錄

###
* 進入 CMSIS 目錄

###
* 進入 Device 目錄

###
* 進入 ST 目錄

###
* 進入 STM32F0xx 目錄

###
* 進入 Source 目錄

###
* 進入Templates 目錄

###
* 添加 system_stm32f0xx.c文件

<br/>
* 添加下一個文件,進入arm目錄

###
* 選擇startup_stm32f030.s 文件,然后點擊Add,接著點擊Close,如圖所示。

>[warning] 在選擇文件前,需要按如圖所示把文件過濾器更改為Asm Source file(\*.s\*;\*.src;\*.\*.a\*)
###
* 添加完成,如圖所示。

<br/>
刪除 StdPeriph_Driver 下所有文件

###
刪除完成,點擊 "OK"

<br/>
<br/>
<br/>
## **官方模板工程的配置**
點擊魔法棒

<br/>
點擊Device選項卡,選擇 STM32F030F4Px

<br/>
點擊Output選項卡,勾選Create Hex File

<br/>
點擊C/C++選項卡,在 "C/C++" 選項卡,進行如圖所示設置,并且點擊OK

###
其中,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,編譯整個工程

<br/>
如上述操作正確,則編譯成功

<br/>
<br/>
## **商務合作**
如有以下需求,可掃碼添加管理員好友,注明“**商務合作**”
* 項目定制開發,技術范圍:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等;
* 入駐平臺,成為講師;
* 接項目賺外快;
* 善學坊官網:[www.sxf-iot.com](https://www.sxf-iot.com/)

(非商務合作**勿擾**,此處**非**技術支持)
- 課程介紹
- 配套資源下載
- 配套開發套件簡介
- 簡介
- 硬件組成 & 技術參數
- 電路原理圖 & 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. 數據通信任務說明
- 版權聲明與免責聲明