news 2026/5/8 4:57:33

STM32简介以及软件安装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32简介以及软件安装

目录

1.STM32简介

1. 2.ARM

3.STM32F103C8T6

4.命名规则

5.系统结构​编辑

6.引脚定义​编辑

7.启动配置

8.最小系统电路

2.软件安装

1.安装Keil MDK

2.安装器件支持包

离线下载

在线下载

3.STLINK驱动安装

4.USB转串口的驱动


1.STM32简介

1.

使用面包板更有利于我们对硬件电路的学习,可以避免开发板的一些问题

比如引脚冲突、引脚无法更改等

当然了使用面包板也有一些问题,程序现象不出来,不仅可能是程序的问题,也有可能是接线的问题。在连线时要细心一些

STM32 ST公司基于ARM
Cortex-M内核开发的32位
微控制器
微控制器就是MCU,也就是我们常说的单片机
ARM Cortex-M内核相当于CPU

STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等

STM32功能强大、性能优异
片上资源丰富、功耗低,是
一款经典的嵌入式微控制器

目前STM32主要有四个系列
分别是高性能系列、主流系列、超低功耗系列和无线系列
如图

2.ARM


ARM既指ARM公司,也指ARM处理器内核
ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构
ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片

如图


R系列跟M系列适用于嵌入式领域,A系列则是适用于高端应用型的领域

3.STM32F103C8T6

系列:主流系列STM32F1
内核:ARM Cortex-M3
主频:72MHz
RAM:20K(SRAM)
ROM:64K(Flash)
供电:2.0~3.6V(标准3.3V)
封装:LQFP48

RAM运行内存,实际的存储介质是SRAM
ROM程序存储器,实际的存储介质是Flash闪存


片上资源/外设 Peripheral

如图

传感器模块

第一个是光敏电阻模块,下面四个引脚

有两个是用来供电的,还有两个是光敏电阻信号的模拟输出和数字输出

可以用来进行IO口读取实验或者AD实验

第二个是 热敏电阻模块,也是有模拟输出和数字输出的

第三个是对射式红外模块,这个模块配合遮光片可以用来计次,或者配合编码盘用来测速

第四个是反射式红外模块,这个做过寻迹车的应该清楚

它可以向地面发射红外光,然后再用红外接收管接收地面反射的红外光。通过判断接收光的强度,就可以大体地识别出地面的颜色变化了

MPU6050陀螺仪和加速度计
可以测量芯片自身的姿态
像四轴飞行器上,一般都会配有陀螺仪和加速度计
这个模块是I方C总线通信的
用它来学习l方C通信

旋转编码器
可以输出两路正交的方波信号
用于指示旋转的方向和速度
STM32里面有专用的编码器电路,可以很方便地识别这种信号。当一个快速的按键来使用

SG90舵机
用PWM进行控制的
输出端可以像船舵一样
根据我们给定PWM信号的古空比网定在某一个角度上
可以用来做一些机器人或者机械臂的关节

直流电机和TB6612电机驱动模块
可以用来进行直流电机的PWM词速实验

4.命名规则

如图


5.系统结构

Cortex-M3引出来三条总线

ICode指令总线、DCode数据总线、System系统总线

前两个主要用来连接Flash闪存的,flash里面存储的就是我们编写的程序

ICode指令总线是用来加载指令的,DCode数据总线是用来加载数据的,比如常量和调试数据这些

System就连接到了其他的上面

比如SRAM,用于存储程序运行时的变量数据

FSMC

AHB系统总线就是用来挂载主要的外设的

先进高性能总线

挂载的一般是最基本的或者性能比较高的外设

比如复位和时钟控制

SDIO

两个桥接,接到了APB1和APB2两个外设总线上

APB的意思是先进外设总线,用于连接一般的外设

因为AHB和APB的总线协议、总线速度、还有数据传送格式的差异,所以中间需要加两个桥接,来完成数据的转换和缓存

AHB的整体性能比APB高一些,APB2又比APB1高

APB2一般和AHB同频率,都是72MHz,APB1一般是36MHz

所以APB2连的是一些稍微重要的

DMA可以把它当作内核CPU的小秘书

比如有一些大量的数据搬运的活,让CPU来干的话就太浪费时间了

可以拥有和CPU一样的总线控制权,用于访问那些外设

当需要DMA搬运数据时,那个外设就会通过请求线发送DMA请求,然后DMA就会获得总线控制权,访问并转运数据,整个过程不需要CPU的参与,省下了CPU的时间用来干其他的事情

6.引脚定义

7.启动配置

这个启动配置的作用就是指定程序开始运行的位置
一般情况下,程序都是在Flash程序存储器开始执行
但是在某些情况下,我们也可以让程度在别的地方开始执行用以完成特殊的功能

第二行模式就是用来做串口下载用的
这个系统存储器存的就是STM32中的一段BootLoader程序
BootLoader程序的作用就是接收串口的数据,然后刷新到主闪存中
这样就可以使用串口下载程序了

那什么时候我们需要用到串口下载呢,我们可以看到这个引脚定义表

34、37-40调试端口,不要把他们全部都变成普通IO口了
那如果全部变成IO口了,下载不进去程序了
这就需要用到串口的方式下载程序了
如果想使用串口下载,就需要配置BOOT1为0,BOOT0为1

还有如果你没有STLINK,也没有儿INK,那就可以使用串口来进行下载程序
就多了一种下载方式

8.最小系统电路

滤波电容可以保证供电电压的稳定
一般只要遇到供电,都会习惯上的加上几个滤波电容

VBAT接备用电池
可以选择一个3V的纽扣电池,正极接VBAT,负极接GND就行了
备用电池是给RTC和备份寄存器服务的

2.软件安装

1.安装Keil MDK

自己注意路径

2.安装器件支持包

离线下载

在自己本地就已经预先安装了支持包

可以看到这里就已经安装了

在线下载

点击

等左下角进度条加载完毕,就看可以进行

可以在这个路径下找到STM32下所有型号

3.STLINK驱动安装

STLINK

打开设备管理器

图标带了一个警告,说明我们电脑上目前没有安装STLINK的驱动。反之,如果能找到且没有警告那就是已经安装了

我们可以直接去Keil5下-> ARM -> STLink -> USBDriver这个路径。因为我的电脑是64位的所以找到dpinst_amd64.exe。

我们会发现设备管理器刷新了一下,STM32 STLink就跳入通用串行总线设备下了,且没有警告了。说明驱动已经安装成功了

同样的如果想安装JLINK驱动的话,打开ARM下的Segger文件夹

4.USB转串口的驱动

同样的

同理

感谢你的观看,期待我们下次再见!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 4:56:27

zfoo性能优化技巧:10个提升服务器吞吐量的实用方法

zfoo性能优化技巧:10个提升服务器吞吐量的实用方法 【免费下载链接】zfoo 💡Extremely fast enterprise server framework, can be used in RPC, game server, web server. 项目地址: https://gitcode.com/gh_mirrors/zf/zfoo zfoo是一款高性能的…

作者头像 李华
网站建设 2026/5/8 4:47:18

时空智能,镜像视界,国产标杆 物理可信,自主引擎,全域智治

时空智能,镜像视界,国产标杆物理可信,自主引擎,全域智治在数字中国建设持续深化、关键核心技术自主可控上升为国家战略的时代背景下,时空智能已成为数字孪生与视频孪生技术体系的核心底座,更是支撑国家治理…

作者头像 李华
网站建设 2026/5/8 4:47:16

Docker透明代理实战:基于iptables与策略路由的流量调度方案

1. 项目概述:一个基于Docker的透明代理解决方案最近在折腾网络连通性测试和特定应用流量转发时,发现了一个挺有意思的Docker镜像项目。这个项目本质上是一个打包好的容器化工具,它把一套用于建立代理连接和透明流量转发的环境给标准化了。对于…

作者头像 李华
网站建设 2026/5/8 4:47:03

强化用户价值:OpenClaw进化型Agent的产品设计逻辑

子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…

作者头像 李华
网站建设 2026/5/8 4:46:44

Advanced-Deep-Learning-with-Keras变分自编码器:VAE与CVAE深度解析

Advanced-Deep-Learning-with-Keras变分自编码器:VAE与CVAE深度解析 【免费下载链接】Advanced-Deep-Learning-with-Keras Advanced Deep Learning with Keras, published by Packt 项目地址: https://gitcode.com/gh_mirrors/ad/Advanced-Deep-Learning-with-Ke…

作者头像 李华