问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32引脚定义、最小系统及工作模式详解

创作时间:
作者:
@小白创作中心

STM32引脚定义、最小系统及工作模式详解

引用
CSDN
1.
https://m.blog.csdn.net/lanhuazui10/article/details/144279012

STM32作为一款广泛使用的微控制器,其硬件基础是开发人员必须掌握的重要内容。本文将详细介绍STM32的引脚定义、最小系统电路以及工作模式,帮助读者更好地理解和使用STM32。

引脚定义

STM32的引脚可以分为电源引脚、最小系统引脚和IO功能引脚三类。其中,电源引脚负责供电,最小系统引脚用于基本功能的实现,IO功能引脚则用于各种输入输出操作。

列号
描述
1
引脚号:1-48
2
引脚名称
3
类型:s(电源)、I(输入)、O(输出)、IO(输入输出)
4
IO电平:带FT标记的可容忍5V电压,无FT标记的只能容忍3.3V电压
5
主功能:上线后默认功能,通常与引脚名称相同
6
默认复用功能:IO口上同时连接的外设功能引脚
7
重定义功能:当两个功能同时复用一个IO口时,可将其中一个功能重映射到其他GPIO端口

引脚功能详解

  • VBAT(1号引脚):备用电池供电引脚,可接3V电池,当系统电源断电时,备用电池可给内部的RTC时钟和备份寄存器提供电源。
  • 2号引脚:可作为IO口、侵入检测或RTC使用。侵入检测可用于安全保障,RTC可输出校准时钟、闹钟脉冲或秒脉冲。
  • 3、4号引脚:连接32.768KHz的RTC晶振。
  • 5、6号引脚:连接系统的主晶振,通常是8MHz,芯片内有锁相环电路可将其倍频至72MHz作为系统主时钟。
  • 7号引脚(NRST):系统复位引脚,低电平有效。
  • 8、9号引脚:内部模拟部分的电源,如ADC、RC振荡器等。
  • 10-19号引脚:IO口,其中PA0还兼具WKUP功能,可用于唤醒处于待机模式的STM32。
  • 20号引脚:IO口或BOOT1引脚,用于配置启动模式。
  • 23、24号引脚(VSS_1和VDD_1):系统的主电源口。
  • 25-33号引脚:IO口。
  • 34-40号引脚及27号引脚:IO口或调试端口,默认功能是调试端口,支持SWD和JTAG两种调试方式。
  • 41、42、43、45、46号引脚:IO口。
  • 44号引脚(BOOT0):与BOOT1一样,用于启动配置。

启动配置

启动配置用于指定程序开始运行的位置。一般情况下,程序在FLASH(主闪存存储器)中开始执行,需要设置boot0=0。当需要串口下载程序时,需要配置到系统存储器启动模式(boot1=0,boot0=1)。

BOOT引脚的值在上电复位后的一瞬间有效,之后就随便了。例如20引脚在上电瞬间是BOOT1的功能,当第四个时钟过之后就是PB2的功能了。

最小系统电路

单片机需要连接最基本的电路才能正常工作,这些电路包括供电部分、晶振部分、复位电路、按键、启动配置和下载端口等。

供电部分

VSS都连接GND,VDD都连接3.3V。在3.3V和GND之间,一般会连接一个滤波电容以保证电压稳定。VBAT用于连接备用电池,可以选择一个3V的纽扣电池,正极接VBAT,负极接GND。

晶振部分

5号和6号引脚连接一个8MHz的主时钟晶振,这个晶振的两根引脚分别通过两个网络标号接到STM32的5、6号引脚。还需接两个20pF的电容作为启震电容,电容的另一端接地。若需RTC功能,还需再接一个32.768KHz的晶振,电路和这个一样,接在3、4号引脚。

复位电路

由一个10k的电阻和0.1uF的电容组成,用来给单片机提供复位信号,NRST接在STM32的7号引脚。上电瞬间的波形是先低电平,然后逐渐高电平。NRST是低电平复位的(当复位电路上电的瞬间,电容是没有电的),电源通过电阻开始向电容充电,并且此时电容呈现的是短路状态(NRST引脚就会产生低电平)。当电容逐渐充满电时,电容就相当于断路,此时NRST就会被R1上拉为高电平。(低电平提供STM32的上电复位信号)

按键

提供一个手动复位的功能,当按下按键,电容放电,并且NRST引脚也通过按键直接接地了,这就相当于手动产生了低电平复位信号,按键松手后,NRST又回归高电平,此时单片机从复位状态转为工作状态。复位,程序就从头开始运行。

启动配置部分

H1相当于开关的作用(拨码开关/插跳线帽),拨动开关就可以让BOOT引脚选择接3.3v还是GND了

下载端口部分

若使用STLINK下载程序,需将SWDIO 和SWDLK这两个引脚引出来方便接线,另外将3.3v和GND引出来

稳压芯片

用于给5v降到3.3v,如下:

STM32工作模式

STM32的工作模式主要通过GPIO(General Purpose Input Output)来实现,GPIO可以配置为8种输入输出模式。

引脚电平

0V~3.3V,部分引脚可容忍5V。(0v就是低电平是数据0,3.3v是高电平是数据1。容忍5v意思是可以在这个端口输入5v的点电压,也认为是高电平,但是对于输出而言,最大就只能输出3.3v,因为供电就只有3.3v,具体哪些端口能容忍5v,可以参考一下stm32的引脚定义,带FT的就是可以容忍5v,不带FT的就只能接入3.3v电压)

输出模式

可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等。(后面文章显示的LED和蜂鸣器的程序现象,就使用到了GPIO的输出模式。另外在其他的应用场景,只要是可以用高低电平来进行控制地方都可以用GPIO来完成;如果控制的是功率比较大的设备,只需要再加入驱动电路即可;此外,还可以用GPIO来模拟通信协议,比如I2CC、spi或某个芯片特定协议,我们都可以用GPIO的输出模式来模拟其中的输出时序部分)

输入模式

可读取端口的高低电平或电压,用于读取按键输入、外接模块(比如,光敏电阻模块、热敏电阻模块)电平信号输入、ADC电压采集、模拟通信协议接收数据等。(输入模式最常见的就是读取按键了,用来捕获我们的案件按下事件;另外,也可以读取带有数字输出的一些模块,比如,光敏电阻模块、热敏电阻模块等;如果这个模块输出的是模拟量,那GPIO还可以配置成模拟输入模式,再配合内部的ADC外设,就能读取端口的模拟电压了;除此之外,模拟通信协议时,接收线上的通信数据,也是靠GPIO的输入来完成的)

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号