从零开始制作STM32F103RCT6小车(一)

前言:

        仅以此系列给实验室的学弟学妹作为小车制作教程来使用,后续的内容我会在这个暑假陆续更新出来,本篇的内容是新建一个适用于STM32F103RCT6的工程

准备工作:

        接下来的操作几乎是基于STM32F1xx系列的固件库,这里我给大家列出链接

STM32F1xx系列固件库                提取码:2471

我是以智然学长制作的板子来制作小车的,下面的链接是电路板的管脚示意图和电路板的PCB图,其中PCB图需要使用AD20这个软件打开

电路板管脚示意图以及PCB          提取码:2471

        同时,必备的软件也不能少,一个是Keil5-MDK,另一个就是AD20,这两个大家自行下载,我这里不再赘述

正篇开始:

        首先要在电脑上新建一个空文档,该文档不能存在中文目录,否则会出现一连串的错误,这里我在D盘新建了一个名为STM32_test的文件夹

从零开始制作STM32F103RCT6小车(一)_第1张图片

 在该文件夹下新建4个文件夹,分别名为USER,CORE,STM32F103_FWLIB,OBJ

从零开始制作STM32F103RCT6小车(一)_第2张图片

 之后,进入我们的Keil5,新建一个项目

从零开始制作STM32F103RCT6小车(一)_第3张图片

 选择我们刚才新建的文件夹STM32_test

从零开始制作STM32F103RCT6小车(一)_第4张图片

 进入USER目录下,输入项目的名称,这个大家自行命名,但最好不要出现中文,点击保存

从零开始制作STM32F103RCT6小车(一)_第5张图片

 之后,在我们的Keil5界面就会弹出一个新的界面,在这个界面下,我们要选择芯片的型号,这里我们选择的STM32F103RCT6

从零开始制作STM32F103RCT6小车(一)_第6张图片

从零开始制作STM32F103RCT6小车(一)_第7张图片 之后点击OK就可以,接下来还会弹出一个新的界面,这时候我们不要管,直接点击cancel即可

从零开始制作STM32F103RCT6小车(一)_第8张图片

 接下来,我们回到我们的USER目录下,我们可以看到上面的界面,是我们建立完后产生的,其中Listings和Objects是空的文档,而Object是用来存放编译过程中的文件的,这个我们在之后的步骤会讲解。

从零开始制作STM32F103RCT6小车(一)_第9张图片

 之后,我们前面让大家下载的STM32F1XX固件库,就派上用场了。接下来要做的就是文件的搬运,打开固件库的STM32F10x_StdPeriph_Lib_V3.5.0文件夹

从零开始制作STM32F103RCT6小车(一)_第10张图片

 进入Libraries

 从零开始制作STM32F103RCT6小车(一)_第11张图片

进入STM32F10x_StdPeriph_Driver文件夹

从零开始制作STM32F103RCT6小车(一)_第12张图片 将下面两个文件下复制下来

从零开始制作STM32F103RCT6小车(一)_第13张图片

 放到我们第一步建立的STM32F103_FWLIB文件夹里面

从零开始制作STM32F103RCT6小车(一)_第14张图片

最终,我们的STM32F103_FWLIB文件夹下所包含的文件如下图所示

从零开始制作STM32F103RCT6小车(一)_第15张图片

 然后我们要准备把文件放到CORE文件夹下面来,再次进入Libraries下

从零开始制作STM32F103RCT6小车(一)_第16张图片

 进入CMSIS文件夹

从零开始制作STM32F103RCT6小车(一)_第17张图片

 再进入CM3文件夹

从零开始制作STM32F103RCT6小车(一)_第18张图片

 进入CoreSupport文件夹下

从零开始制作STM32F103RCT6小车(一)_第19张图片选中这两个文件,将其放入我们自己建立的CORE文件夹下

从零开始制作STM32F103RCT6小车(一)_第20张图片

之后,我们需要把启动文件也放到我们的CORE文件夹下面,这时候我们要进入下图所框起来的路径,选择DeviceSupport文件夹

从零开始制作STM32F103RCT6小车(一)_第21张图片

 进入ST文件从零开始制作STM32F103RCT6小车(一)_第22张图片

再进入STM32F10x文件夹从零开始制作STM32F103RCT6小车(一)_第23张图片

进入startup文件夹下

从零开始制作STM32F103RCT6小车(一)_第24张图片

 再进入arm文件夹

从零开始制作STM32F103RCT6小车(一)_第25张图片

 这里给大家展示的就是STM32各个型号的启动文件,这里的启动文件是有区别的,所有以hd结尾的启动文件,所需要的芯片Flash要大于128K,而以md结尾的启动文件,所需要的芯片Flash要大于64K,以ld结尾的启动文件,所需要的芯片Flash要小于64K,以cl结尾的启动文件,是属于互联型产品,比如STM32F105/F107,而以vl结尾的启动文件适用于STM32F100系列的芯片。从零开始制作STM32F103RCT6小车(一)_第26张图片这里呢,我们查阅STM32F103RCT6的数据手册,发现其Flash要大于128K所以我们这里选择以hd结尾的启动文件,将其复制到我们的CORE文件夹下从零开始制作STM32F103RCT6小车(一)_第27张图片

 最终,我们的CORE文件夹下所包含的文件如下图所示

从零开始制作STM32F103RCT6小车(一)_第28张图片

 之后,我们要开始把文件搬运到我们的USER文件夹下,同样,就在刚才的目录下,将这三个文件复制到USER下

从零开始制作STM32F103RCT6小车(一)_第29张图片

 之后,回退到之前的STM32F10x_StdPeriph_Lib_V3.5.0文件夹下,选择我们的Project文件夹

从零开始制作STM32F103RCT6小车(一)_第30张图片

进入STM32F10x_StdPeriph_Template文件夹

从零开始制作STM32F103RCT6小车(一)_第31张图片

 将下面的4个文件复制到我们的文件夹下

从零开始制作STM32F103RCT6小车(一)_第32张图片

 到此为止,我们的USER文件夹下所包含的文件如下图所示

从零开始制作STM32F103RCT6小车(一)_第33张图片

 到此为止,我们的所需要的文件已经复制完毕,但文件仅仅在我们的目录下,并没有在我们的MDK5中,单击Target1,然后右键,点击这个Manage Project

从零开始制作STM32F103RCT6小车(一)_第34张图片

 Keil_MDK会弹出一个新的界面

从零开始制作STM32F103RCT6小车(一)_第35张图片

 我们双击Groups下的文件,可以更改文件名称,同时,点击上方箭头所指的区域,可以新建一个分组从零开始制作STM32F103RCT6小车(一)_第36张图片

 从零开始制作STM32F103RCT6小车(一)_第37张图片

先选中FWLIB,再点击 Add Files,会弹出一个新界面,在这个界面下,我们选择STM32F103_FWLIB,然后选择src文件夹,选中里面所有文件,最后点击Add

从零开始制作STM32F103RCT6小车(一)_第38张图片

 从零开始制作STM32F103RCT6小车(一)_第39张图片

 之后,我们再选中我们的USER文件夹,同样的步骤,将下面三个文件Add一下

从零开始制作STM32F103RCT6小车(一)_第40张图片最后是我们的CORE文件夹,这里我们要加进入两个文件,一个是箭头所指的.c文件,另一个是被隐藏起来的.s文件

从零开始制作STM32F103RCT6小车(一)_第41张图片

点击下三角,选择All flie,这时候,.s启动文件就会出来了从零开始制作STM32F103RCT6小车(一)_第42张图片

 之后点击Add即可从零开始制作STM32F103RCT6小车(一)_第43张图片

 到了这一步,还没完,这时候,点击魔法棒从零开始制作STM32F103RCT6小车(一)_第44张图片

 选择OBJ,这样编译产生的文件就会存放再OBJ文件夹下了

从零开始制作STM32F103RCT6小车(一)_第45张图片

 之前,我们只是把文件包含进来了,但是并没有把文件路径包括进来,在此之前,我们要在魔法棒的界面下,选中C/C++这一栏,然后在Define这一栏输入

STM32F10X_HD,USE_STDPERIPH_DRIVER

注意,一定不要出错,否则会编译失败。(这里建议大家直接复制)

从零开始制作STM32F103RCT6小车(一)_第46张图片

 然后点击三个省略号,会出现新的界面,如下图所示

从零开始制作STM32F103RCT6小车(一)_第47张图片

 同样的道理,我们新建一个路径,点击省略号,我们分别找到对应的文件夹从零开始制作STM32F103RCT6小车(一)_第48张图片

如USER文件 CORE文件,以及STM32F103_FWLIB下的inc文件(这里千万不能省略)

 从零开始制作STM32F103RCT6小车(一)_第49张图片

从零开始制作STM32F103RCT6小车(一)_第50张图片

 从零开始制作STM32F103RCT6小车(一)_第51张图片

 之后,我们进入main.c文件下,将里面的代码全部清除,换成

#include "stm32f10x.h"

int main()
{
	while(1)
	{
		
	}
}

 这下就可以大功告成了,编辑一下0错误,0警告

从零开始制作STM32F103RCT6小车(一)_第52张图片

你可能感兴趣的:(小白,stm32,单片机,arm)