从零开始制作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警告

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20131.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32F103RCT6

STM32F103RCT6是一款由STMicroelectronics公司生产的基于ARM Cortex-M3内核的32位微控制器。 它具有高性能、低功耗和广泛的应用领域。 包括ADC(模数转换器) DAC(数字模拟转换器) TIM(定时器) USART&#x…

STM32(二)STM32F103RCT6板载资源介绍

大家好,今天我跟大家分享一下STM32F103RCT6的板载资源,希望对初学STM32的同学有所启示。当然,本人也是一名初学者,如果有谈论不妥之处,还望您能够批评指正,不吝赐教,本人将非常感激。如果有什么…

STM32F103RCT6——定时器简单用法

STM32F10xx参考手册英文和中文版 百度网盘:https://pan.baidu.com/s/1Z2nB0WVJIxvm3VOI9MQiiw 提取码:lxlx STM32F103RCT6数据手册 链接:https://pan.baidu.com/s/1tRchgf-5C1MN4W58vQ9zPg 提取码:lxlx 定时器分类 STM32F103RCT6…

STM32F103RCT6 介绍

1、STM32F103RCT6 命名含义 ST:意法半导体公司 M:MCU 32:32位单片机 F:通用型单片机 103:产品系列号码 R: 芯片有64个引脚 C:256Kb flash T:LQFP封装 6:芯片工作温度 -40℃…

学STM32(STM32F103RCT6)

系列文章目录 第一章 了解STM32 文章目录 系列文章目录前言一、STM32基本系统1.STM32基本(最小)系统板2.使用STM32为核心器件的基本(最小)系统构成单元 二、主控制器(CPU)1.STM32F103RCT6微控制器参数2.ST…

简单:Windows中的文本与Linux中CentOS的vim编辑器相互复制粘贴方法

简单:Windows中的文本与Linux中vim编辑器中的文本相互复制粘贴的方法 1.从Windows下到vim中: 1,选中windows中文档内容按Ctrlc。 2,进入vi编辑器,在插入模式下,用鼠标点击右键再点击粘贴。 3&#xff0…

linux中vim命令详解(操作大全)

光标的移动 1.用h, j,k,l 来表示光标的移动 vim的金如何退出 2.如何退出vim编辑器操作行 先打出esc推出选项然后shift冒号 ,然后输入q!就可以了 3.如果想进虚拟机中编辑器看操作的话,需要输入vimtutor命令就可以进入vim虚拟器教程了 vim的编辑 4.x代…

Vim的配置 和 windows与Linux之间的复制粘贴

# 在Linux下编程对vim的简单配置,便于编程! 在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进 等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件&#xff1…

如何将剪贴板中的内容复制到linux的vim中

1.按i进入insert模式 2.使用shiftinsert键,即可将你在windows系统中复制的内容粘贴到linux系统中

如何修改linux下的vim复制行数限制

vim-如何修改linux下的vim复制行数限制 来自北方的小强 正在努力成为资深数字IC搬砖工的搬砖工 个人根目录下的.vimrc (~/.vimrc)添加如下内容: set viminfo1000,<600 linux下&#xff0c;默认最多复制50行&#xff0c;上述修改即将限制改为600行。 注意&#xff1a; 1 如果…

Linux vim多行操作

同时注释多行 首先&#xff0c;将光标放在要注释的行首&#xff0c;然后按CTRLV进入列(也叫区块)模式&#xff1b;在行首使用上下键选择要注释的多行&#xff1b;用大写“I”(shifti)进入插入模式&#xff1b;然后输入注释符#(任一符号、字母、数字都可以插入)&#xff1b;最后…

【每日一题】缓存穿透、缓存击穿、缓存雪崩及解决方案

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 当下ChatGPT很火&#xff0c;让人心痒痒想试一试好不好用&#xff0c;因此我就试着借它写一篇文章&#xff0c;但是试了几次最终还是没有…

只需这一篇博客就能完全弄懂LSM树

早期LSM树 为什么需要LSM树 B树的数据都存储在叶子节点中&#xff0c;而叶子节点一般都存储在磁盘中。因此&#xff0c;每次插入的新数据都需要随机写入磁盘&#xff0c;而随机写入的性能非常慢。如果是一个日志系统&#xff0c;每秒钟要写入上千条甚至上万条数据&#xff0c…

数据库/MySQL - 深入探究 - 1

1.应用场景 主要用于了解和掌握数据库/MySQL - 更新操作详细流程。 2.学习/操作 1.文档阅读 主要来自于AI的对话【geek chat&#xff0c; chatgpt】 以及官方文档资料&#xff0c;以及其他技术文章&#xff0c;专栏等。 2.整理输出 抛出问题&#xff1a; 数据库【这里以mysql…

EMQX在Windows系统下的开机自启与异常自动重启脚本

目录 0.前言 1.介绍 2.运行与停止 2.1 运行批处理程序 2.2 停止批处理程序 2.3 开机自启动 3.运行结果 4.详细介绍 5.前台运行版本 0.前言 由于为某万年老项目做运维&#xff0c;但源码遗失以及项目遗留问题导致emqx经常崩溃&#xff0c;故无法追根溯源&#xff0c;迫于…

量化工具使用介绍——Tushare

Tushare ID:497485 今年年初的时候&#xff0c;我和几位小伙伴一起合作打花旗杯&#xff0c;项目和量化交易有关。不可避免地会使用到一些常规的量化工具&#xff08;尤其是python的第三方库&#xff09;&#xff0c;虽然决赛还没有开始&#xff0c;我们已经确定进入了二十强。…

BigQuant策略做量化真的能赚钱吗?

BigQuant策略做量化可以赚钱&#xff0c;但是是建立在一些前提条件基础之上的。量化策略本身存在的意义就是通过数量化模型建立科学投资体系&#xff0c;获取稳定收益&#xff0c;相比传统投资&#xff0c;其具备纪律性、系统性、及时性、准确性等诸多优势&#xff0c;所以一个…

自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测

自己做量化交易软件(45)小白量化实战18–直接使用通达信自编指标公式进行分析绘图和回测 小白量化一代提供了Python公式算法模式来写量化程序。 小白量化二代提供了仿通达信公式的模式来写量化程序。 小白量化三代除了仿通达信公式的模式来写量化程序外&#xff08;见前几篇博客…

自己做量化交易软件(16)用小白通通量化AI框架打造自己的量化平台

最近一段时间&#xff0c;我主要学习python3和tkinter的窗口开发&#xff0c;对tkinter编程逐步了解。 此外&#xff0c;应广大朋友要求&#xff0c;我写了 一本学习python3学习书籍<小白学Python3实战搭建量化投资平台>. <小白学Python3实战搭建量化投资平台>内容…

Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

目录 Chat GPT是什么 初学者怎么使用Chat GPT 使用Chat GPT需要注意什么 一些简单的prompt示例 Chat GPT是什么 Chat GPT是由OpenAI开发的一种大型语言模型&#xff0c;它基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;架构。GPT是一种基于深度学习的…