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

这篇具有很好参考价值的文章主要介绍了从零开始制作STM32F103RCT6小车(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

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

准备工作:

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

STM32F1xx系列固件库                提取码:2471

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

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

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

正篇开始:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 进入Libraries

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

进入STM32F10x_StdPeriph_Driver文件夹

从零开始制作STM32F103RCT6小车(一) 将下面两个文件下复制下来

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

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

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

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

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

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

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

 进入CMSIS文件夹

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

 再进入CM3文件夹

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

 进入CoreSupport文件夹下

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

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

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

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

 进入ST文件从零开始制作STM32F103RCT6小车(一)

再进入STM32F10x文件夹从零开始制作STM32F103RCT6小车(一)

进入startup文件夹下

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

 再进入arm文件夹

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

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

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

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

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

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

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

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

进入STM32F10x_StdPeriph_Template文件夹

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

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

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

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

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

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

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

 Keil_MDK会弹出一个新的界面

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

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

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

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

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

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

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

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

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

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

 之后点击Add即可从零开始制作STM32F103RCT6小车(一)

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

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

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

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

STM32F10X_HD,USE_STDPERIPH_DRIVER

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

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

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

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

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

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

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

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

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

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

#include "stm32f10x.h"

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

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

从零开始制作STM32F103RCT6小车(一)文章来源地址https://www.toymoban.com/news/detail-400680.html

到了这里,关于从零开始制作STM32F103RCT6小车(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32F103RCT6——定时器简单用法

    STM32F10xx参考手册英文和中文版 百度网盘:https://pan.baidu.com/s/1Z2nB0WVJIxvm3VOI9MQiiw 提取码:lxlx STM32F103RCT6数据手册 链接:https://pan.baidu.com/s/1tRchgf-5C1MN4W58vQ9zPg 提取码:lxlx STM32F103RCT6包括,高级控制定时器TIM1和TIM8,通用定时器TIM2-5,基本定时器TIM6和TIM7. 高级控制定时器TIM1,TI

    2024年02月08日
    浏览(41)
  • stm32f103rct6使用内部晶振作为时钟源

    stm32f103rct6(库函数版例程)使用内部晶振8M,倍频64M 参考 https://blog.csdn.net/oHuanCheng/article/details/105112884 http://www.openedv.com/forum.php?mod=viewthreadtid=286233 https://blog.csdn.net/ll148305879/article/details/106138302 修改system_stm32f10x.c文件中的void SystemInit(void)函数 内部时钟用到了FLASH,需要添加s

    2024年02月07日
    浏览(36)
  • stm32F103RCT6使用FFT运算分析波形详解(细致教学)

    最近学校电赛队伍招新,出的招新题就是低频示波器的。之前一直没有弄懂FFT,借着这次机会实现了一下,做了一个小示波器 FFT原理简述 FFT,就是快速傅里叶变换,这个操作能够将时域信号转化成频域信号,然后对信号进行分析 这样说可能有点抽象。讲细点就是指能够直观

    2024年02月14日
    浏览(34)
  • STM32F103RCT6驱动SG90舵机-完成正反转角度控制

    SG90是一种微型舵机,也被称为伺服电机。它是一种小型、低成本的直流电机,通常用于模型和机器人控制等应用中。SG90舵机可以通过电子信号来控制其精确的位置和速度。它具有体积小、重量轻、响应快等特点,因此在各种小型机械设备上得到了广泛应用。 SG90舵机通常用于

    2024年02月03日
    浏览(48)
  • STM32F103RCT6电路设计及绘制方法和学习体会

    目录 1电路图各部分原理分析 1.1通信-下载板块接口电路 1.1.1 通信模块 1.1.2 显示灯 1.2电源转化电路 1.2.1 电源转化 1.3晶振电路 1.4 OLED显示屏接口电路 1.5 独立按键电路 1.6 JTAG/SWD调试接口电路 1.7 STM32微控制器电路 1.7.1 副芯片原理 1.7.2 主芯片原理 1.8 外扩引脚 1.9 显示灯 2图纸的

    2024年02月14日
    浏览(43)
  • STM32F103RCT6 -- 基于FreeRTOS 的USART1 串口通讯

    使用 FreeRTOS 提供的队列(Queue)机制来实现数据的接收和发送 TX - PA9 RX - PA10 波特率:9600 数据位:8bit 校验位:无 停止位:1bit 数据格式: RX: 55 AA 06 00 06 31 02 24 01 FC 80 TX: 55 AA 06 00 06 32 01 24 01 B8 70 55 AA – 帧头 06 - 数据字节数,不包括帧头,不包括校验位 00 06 – 模块 31 02 24

    2024年02月16日
    浏览(29)
  • 设计分享 | STM32F103RCT6利用ULN2003驱动步进电机正反转

    https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==mid=2247484170idx=1sn=3fa68d0fbf30cf614e8779abf38c3e2bchksm=cf430652f8348f44e4b95bb7b22ce7f9f5a86e13f421741aefd08cedb169708309c79566ab1ftoken=1923877603lang=zh_CN#rd https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==mid=2247484170idx=1sn=3fa68d0fbf30cf614e8779abf38c3e2bchksm=cf430652f8348f44e4b95bb7b22ce7f9f5a8

    2023年04月17日
    浏览(38)
  • RFID课程设计--基于STM32F103RCT6的智能门禁系统,STM32RCT6+RC522+OLED+DHT11+4*4矩阵键盘

      本次课程设计要求如下,我们团队两人完成了90%的功能。   其中我们设置的是刷卡错误3次不报警,密码输入错3次报警(原理相同,大家根据需要自行修改)   然后暂时只能显示卡号和卡是第几个录入到系统中的,想到身份证号和电话(身份信息)输进去有点长就没

    2024年01月16日
    浏览(64)
  • STM32F103RCT6开发板M3单片机教程06--定时器中断

    除非特别说明,本章节描述的模块应用于整个 STM32F103xx 微控制器系列,因为我们使用是 STM32F103RCT6开发板是mini最小系统板。 本教程使用是( 光明谷SUN_STM32mini开发板 )   首先了解一下是STM32F10X定时器(Timer)   注: 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101

    2024年02月04日
    浏览(47)
  • 基于STM32F103RCT6之手把手教你写智能家居项目(2)

            上一节我们简述了智能家居项目,实现了点灯的相关代码编写,还有WIFI模块的固件烧录。 连接什么平台:         我们想要远程控制家具的开关和获取家中的状态,少不了一个可以传输数据的云平台。我认为易监控是一个简单好用的云平台。 怎么连接平台:

    2024年02月20日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包