从零开始制作STM32F103RCT6小车(一)
前言:
仅以此系列给实验室的学弟学妹作为小车制作教程来使用,后续的内容我会在这个暑假陆续更新出来,本篇的内容是新建一个适用于STM32F103RCT6的工程
准备工作:
接下来的操作几乎是基于STM32F1xx系列的固件库,这里我给大家列出链接
STM32F1xx系列固件库 提取码:2471
我是以智然学长制作的板子来制作小车的,下面的链接是电路板的管脚示意图和电路板的PCB图,其中PCB图需要使用AD20这个软件打开
电路板管脚示意图以及PCB 提取码:2471
同时,必备的软件也不能少,一个是Keil5-MDK,另一个就是AD20,这两个大家自行下载,我这里不再赘述
正篇开始:
首先要在电脑上新建一个空文档,该文档不能存在中文目录,否则会出现一连串的错误,这里我在D盘新建了一个名为STM32_test的文件夹
在该文件夹下新建4个文件夹,分别名为USER,CORE,STM32F103_FWLIB,OBJ
之后,进入我们的Keil5,新建一个项目
选择我们刚才新建的文件夹STM32_test
进入USER目录下,输入项目的名称,这个大家自行命名,但最好不要出现中文,点击保存
之后,在我们的Keil5界面就会弹出一个新的界面,在这个界面下,我们要选择芯片的型号,这里我们选择的STM32F103RCT6
之后点击OK就可以,接下来还会弹出一个新的界面,这时候我们不要管,直接点击cancel即可
接下来,我们回到我们的USER目录下,我们可以看到上面的界面,是我们建立完后产生的,其中Listings和Objects是空的文档,而Object是用来存放编译过程中的文件的,这个我们在之后的步骤会讲解。
之后,我们前面让大家下载的STM32F1XX固件库,就派上用场了。接下来要做的就是文件的搬运,打开固件库的STM32F10x_StdPeriph_Lib_V3.5.0文件夹
进入Libraries
进入STM32F10x_StdPeriph_Driver文件夹
将下面两个文件下复制下来
放到我们第一步建立的STM32F103_FWLIB文件夹里面
最终,我们的STM32F103_FWLIB文件夹下所包含的文件如下图所示
然后我们要准备把文件放到CORE文件夹下面来,再次进入Libraries下
进入CMSIS文件夹
再进入CM3文件夹
进入CoreSupport文件夹下
选中这两个文件,将其放入我们自己建立的CORE文件夹下
之后,我们需要把启动文件也放到我们的CORE文件夹下面,这时候我们要进入下图所框起来的路径,选择DeviceSupport文件夹
进入ST文件
再进入STM32F10x文件夹
进入startup文件夹下
再进入arm文件夹
这里给大家展示的就是STM32各个型号的启动文件,这里的启动文件是有区别的,所有以hd结尾的启动文件,所需要的芯片Flash要大于128K,而以md结尾的启动文件,所需要的芯片Flash要大于64K,以ld结尾的启动文件,所需要的芯片Flash要小于64K,以cl结尾的启动文件,是属于互联型产品,比如STM32F105/F107,而以vl结尾的启动文件适用于STM32F100系列的芯片。这里呢,我们查阅STM32F103RCT6的数据手册,发现其Flash要大于128K所以我们这里选择以hd结尾的启动文件,将其复制到我们的CORE文件夹下
最终,我们的CORE文件夹下所包含的文件如下图所示
之后,我们要开始把文件搬运到我们的USER文件夹下,同样,就在刚才的目录下,将这三个文件复制到USER下
之后,回退到之前的STM32F10x_StdPeriph_Lib_V3.5.0文件夹下,选择我们的Project文件夹
进入STM32F10x_StdPeriph_Template文件夹
将下面的4个文件复制到我们的文件夹下
到此为止,我们的USER文件夹下所包含的文件如下图所示
到此为止,我们的所需要的文件已经复制完毕,但文件仅仅在我们的目录下,并没有在我们的MDK5中,单击Target1,然后右键,点击这个Manage Project
Keil_MDK会弹出一个新的界面
我们双击Groups下的文件,可以更改文件名称,同时,点击上方箭头所指的区域,可以新建一个分组
先选中FWLIB,再点击 Add Files,会弹出一个新界面,在这个界面下,我们选择STM32F103_FWLIB,然后选择src文件夹,选中里面所有文件,最后点击Add
之后,我们再选中我们的USER文件夹,同样的步骤,将下面三个文件Add一下
最后是我们的CORE文件夹,这里我们要加进入两个文件,一个是箭头所指的.c文件,另一个是被隐藏起来的.s文件
点击下三角,选择All flie,这时候,.s启动文件就会出来了
之后点击Add即可
到了这一步,还没完,这时候,点击魔法棒
选择OBJ,这样编译产生的文件就会存放再OBJ文件夹下了
之前,我们只是把文件包含进来了,但是并没有把文件路径包括进来,在此之前,我们要在魔法棒的界面下,选中C/C++这一栏,然后在Define这一栏输入
STM32F10X_HD,USE_STDPERIPH_DRIVER
注意,一定不要出错,否则会编译失败。(这里建议大家直接复制)
然后点击三个省略号,会出现新的界面,如下图所示
同样的道理,我们新建一个路径,点击省略号,我们分别找到对应的文件夹
如USER文件 CORE文件,以及STM32F103_FWLIB下的inc文件(这里千万不能省略)
之后,我们进入main.c文件下,将里面的代码全部清除,换成
#include "stm32f10x.h"int main()
{while(1){}
}
这下就可以大功告成了,编辑一下0错误,0警告
从零开始制作STM32F103RCT6小车(一)相关推荐
- 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用
我会通过本系列文章,详细介绍如何从零开始用51单片机去实现智能小车的控制,在本系列的上一篇文章中介绍了如何让小车动起来,本文作为本系列的第二篇文章,主要介绍让小车实现自动避障所涉及的一些传感器, ...
- UE4从零开始制作数字孪生道路监测平台
UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket,后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发. 1:新建UE4项目并集成Ces ...
- 从零开始学ros小车仿真
从零开始学ros小车仿真 从零开始学ros小车仿真 目录 1.从零开始学ros小车仿真(一)在solidworks中建模小车并转出为urdf文件 2.从零开始学ros小车仿真(二)在rviz中检验导入 ...
- 从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)
默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll).除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包.然而做源代码 ...
- WordPress 主题教程:从零开始制作 WordPress 主题
从零开始制作 WordPress 主题其实不难,只要你从现在开始认真阅读这个教程,一步一步认真学习,你就会成为一个 WordPress 主题制作高手.至少你会修改现有主题. 网络上已经有很多关于制作 ...
- 树莓派制作遥控小车教程
树莓派制作遥控小车教程 一.成品图 二.准备材料: 三.开始制作 1.接线 2.写程序 一.成品图 二.准备材料: 1.树莓派 2.充电宝 3.小车套件(底盘,车轮,电机,电池座) 4.导线,杜邦线 ...
- 从零开始制作一个飞机大战类型的射击游戏
射击类游戏是极为经典的游戏系列之一,它往往有着精美绚丽的画面,高度有趣的音效,为玩家呈现不一样射击体验,让人流连忘返. 今天,我们用scratch从零开始制作了的一个射击类型的小游戏,适合学习者进行学 ...
- 从零开始制作人脸表情的数据集
一.背景 人脸表情识别网上已有很多教程,大多基于fer2013数据集展开的.现在的问题就在于fer2013数据集的数量太少,表情的区分度不够明显,大部分基于此数据集的模型,其识别精度仅有70%左右. ...
- 从零开始制作 WordPress 主题
从零开始制作 WordPress 主题其实不难,只要你从现在开始认真阅读这个教程,一步一步认真学习,你就会成为一个 WordPress 主题制作高手.至少你会修改现有主题. 网络上已经有很多关于制作 ...
最新文章
- Apache Kylin Cube 的构建过程
- 《C#高级编程》既不高级,也不基础,东拼西凑的味道十足。。。
- spring boot 传递 List参数
- 成功解决ModuleNotFoundError: No module named 'utils'
- Boost.Function 库示例
- 百度前端技术学院-task1.8源代码
- C#操作excel(NPOI篇)
- centos下的nginx安装工作记录20130701
- 折腾Java设计模式之状态模式
- 【bzoj 1087】[SCOI2005]互不侵犯King(状压dp)
- PHP同步淘宝客订单数据
- 打印机驱动下载后只能打印单面(设置双面打印)解决方法
- 如何使用微信小程序第三方UI组件库
- Linux命令行配置网络(有线网络,无线网络)// Debian
- linux服务器通过代理连接网络
- RStudio不在Plots中显示图片的一个原因
- Unity笔记-29-ARPG游戏项目-01-第三人称相机
- 阿里云认证多少分能通过?考试题库在哪里找?
- Lombok @Data导致的hashCode的问题
- linux怎么查看内容并显示行号,linux中查看文件时显示行号