STM32 微控制器的引脚功能非常灵活且多样化,绝大多数引脚支持复用功能 (Alternate Function, AF),可以通过软件配置实现不同的用途。用中文概括如下:
-
通用输入/输出 (GPIO - General Purpose Input/Output):
- 数字输入 (Input): 读取外部数字信号(高或低电平)。可配置为上拉、下拉或浮空模式。
- 数字输出 (Output): 驱动外部数字信号(输出高或低电平)。可配置为推挽 (Push-Pull) 或开漏 (Open-Drain) 模式。输出速度可调(低、中、高、非常高)。
-
外设接口引脚 (Peripheral I/O Pins / Alternate Function):
- 这是STM32引脚最强大的特性。同一个物理引脚,通过配置相应的寄存器,可以分配给芯片内部集成的各种外设使用。最常见的外设接口功能包括:
- 模拟输入 (Analog Input): 直接连接到片上模数转换器 (ADC) 或比较器 (Comparator) 的输入通道。
- 模拟输出 (Analog Output): 直接连接到片上数模转换器 (DAC) 的输出通道。
- 定时器 (Timer) 通道: 输入捕获 (Input Capture)、输出比较 (Output Compare)、PWM (Pulse Width Modulation) 输出、编码器输入 (Encoder Input)、刹车输入 (Brake Input) 等。
- 通信接口:
- USART/UART (Universal Synchronous/Asynchronous Receiver/Transmitter): TX (发送), RX (接收), CK (时钟), CTS (清除发送), RTS (请求发送)。
- SPI (Serial Peripheral Interface): MOSI (主机输出从机输入), MISO (主机输入从机输出), SCK (时钟), NSS (片选)。
- I2C/IIC (Inter-Integrated Circuit): SDA (数据线), SCL (时钟线)。
- CAN (Controller Area Network): CAN_TX (发送), CAN_RX (接收)。
- USB (Universal Serial Bus): USB_DP (数据+), USB_DM (数据-), USB_ID (OTG识别), USB_VBUS (总线电压检测)。
- 以太网 (Ethernet): RMII/MII 接口相关的信号线(如 REF_CLK, CRS_DV, RXD0, RXD1, TXD0, TXD1, TX_EN 等)。
- 控制器局域网 (CAN): 同上。
- 串行音频接口 (SAI - Serial Audio Interface): FS (帧同步), SCK (串行时钟), SD (串行数据), MCLK (主时钟)。
- 数字滤波器 (DFSDM - Digital Filter for Sigma Delta Modulators): 用于连接外部Sigma-Delta调制器的时钟和数据线。
- FMSC/SDRAM 控制器 (Flexible Memory Controller): 用于连接外部存储器(如 SRAM, NOR Flash, PSRAM, SDRAM)的地址线、数据线、控制线(/CS, /OE, /WE, /UB, /LB 等)。
- LCD-TFT 控制器: 用于直接驱动 LCD/TFT 屏幕的数据线、控制线(VSYNC, HSYNC, DE, CLK, DOTCLK)。
- 摄像头接口 (DCMI - Digital Camera Interface): 用于连接并行摄像头模块的数据线、像素时钟、行同步、场同步等。
- SD/MMC 主机接口 (SDIO): CLK (时钟), CMD (命令/响应), D[3:0] (数据线)。
- 串行线调试 (SWD - Serial Wire Debug): SWDIO (数据线), SWCLK (时钟线)。
- 调试端口 (JTAG): TCK (时钟), TMS (模式选择), TDI (数据输入), TDO (数据输出), nTRST (复位 - 可选)。
- 这是STM32引脚最强大的特性。同一个物理引脚,通过配置相应的寄存器,可以分配给芯片内部集成的各种外设使用。最常见的外设接口功能包括:
-
特殊功能引脚 (Special Function Pins):
- 电源引脚:
- VDD / VSS: 主电源正极 / 地(通常有多对引脚)。
- VDDA / VSSA: 模拟部分电源正极 / 地(通常需要单独供电和滤波)。
- VBAT: 备用电池电源输入(用于维持RTC、备份寄存器等)。
- 参考电压引脚 (VREF+, VREF-): 为 ADC / DAC 提供高精度参考电压(部分型号有)。
- 复位引脚 (NRST): 外部低电平有效复位信号输入/输出(开漏)。
- 启动模式选择引脚 (BOOT0, BOOT1): 决定芯片上电或复位后从哪个存储器启动(如内部Flash、系统存储器、内置SRAM)。
- 内核电源滤波引脚 (VCAP1, VCAP2): 连接外部滤波电容(具体数量和电压取决于内核,如1.2V或1.8V)。
- 主时钟输入引脚 (OSC_IN / OSC32_IN): 连接外部高速/低速晶振或外部时钟源。
- 主时钟输出引脚 (OSC_OUT / OSC32_OUT): 连接外部高速/低速晶振(若使用外部时钟源输入,此引脚可能可复用为GPIO)。
- 带侵入检测的实时时钟引脚 (TAMPER-RTC): 用于检测外部篡改事件(部分型号有专用引脚)。
- 唤醒引脚 (WAKUP): 可用于从低功耗模式唤醒(通常是特定引脚具有此功能)。
- 调试端口引脚 (SWD/JTAG): 上面已经提到,但因其重要性单独列出。
- 电源引脚:
关键点总结:
- 复用功能 (AF) 是核心: 绝大部分 GPIO 引脚都可配置为多种 AF 功能之一。
- 配置决定功能: 引脚的实际功能完全由用户通过配置相关的寄存器(GPIOx_MODER, GPIOx_AFRL, GPIOx_AFRH 等)来决定。
- 引脚映射: 同一个外设(如 USART1_TX)可能可以映射到多个不同的物理引脚上(PA9, PB6 等)。具体映射关系需要查阅芯片的数据手册 (Datasheet) 或参考手册 (Reference Manual) 中的
Alternate function mapping章节。 - 电源/复位/时钟引脚固定: 这些引脚的功能通常是固定的,不能配置为 GPIO 或其他 AF。
- 兼容性: 不同系列(F0, F1, F3, F4, F7, H7, G0, G4, L0, L1, L4, L5, U5, WB, WL 等)和具体型号的 STM32,其引脚数量、可用外设、引脚复用映射关系都有差异。务必查阅你所使用的具体型号的官方数据手册 (Datasheet) 和参考手册 (Reference Manual)。
- CubeMX/MCU:
- STM32CubeMX 软件是配置引脚功能(包括GPIO模式和AF选择)的极佳工具,它会自动生成初始化代码。
- STM32CubeIDE / Keil / IAR 等IDE也提供引脚配置视图。
简单示例 (以 STM32F4xx 的 PB8 引脚为例):
- 默认上电后可能是浮空输入 (GPIO Input Floating)。
- 可配置为:
- GPIO 输出(推挽或开漏)。
- 定时器 TIM4 的通道3 (TIM4_CH3) - 用于 PWM 输出。
- 定时器 TIM10 的通道1 (TIM10_CH1) - 用于 PWM 输出。
- I2C1 的 SCL 引脚 (I2C1_SCL)。
- CAN1 的 RX 引脚 (CAN1_RX)。
- SDIO 的 D4 引脚 (SDIO_D4)。
- ... (根据具体芯片型号还有更多选项)
因此,要准确回答某个特定 STM32 芯片某个引脚的功能,必须结合:
- 芯片的具体型号。
- 用户对该引脚的软件配置(在哪个模式下使用)。
强烈建议: 在设计硬件和编写软件时,总是查阅你所用 STM32 芯片型号的最新官方数据手册 (Datasheet) 和参考手册 (Reference Manual)。
STM32不小心被锁住如何解开
STM32的引脚功能较多,在为了方便硬件的使用,常会使用复用重映射的功能,这里主要提及的是SWD和JTAG端口的引脚对应出现的问题。为了使得TIM2能够重映射到PA15和PB3,所以得...
7545wfs
2022-01-10 08:02:03
stm32单片机引脚介绍及功能
stm32是一种ARM Cortex-M内核单片机,下面小编为大家介绍一下单片机引脚介绍及功能。单片机旁边的一排金属针脚就是引脚,不同的引脚有不同的功能。 引脚大概分为4种,分别是电源、时钟、控制
2021-08-19 16:50:15
stm32单片机引脚介绍及功能
特点,广泛应用于工业控制、消费电子、医疗设备、智能家居等领域。本文将介绍STM32单片机的引脚及其功能。 1. 引脚概述 STM32单片机的引脚数量和类型因型号而异,常见的有48引脚、64引脚、100
2024-09-02 09:38:03
STM32单片机常用的引脚及功能
单片机中,引脚是连接外部设备和单片机内部模块的接口,通过引脚可以将输入信号传递给单片机,或将单片机处理后的信号输出到外部设备。在本文中,我们将介绍STM32单片机常用的引脚,并详细说明其功能。 GPIO引脚: GPIO(General-Purpose Input/Output)引脚是最常用的引脚类型之
2023-12-07 16:22:07
STM32单片机引脚介绍及功能 STM32单片机的工作原理和基本组成
STM32单片机引脚分为两种类型:GPIO引脚和其他引脚。其中GPIO引脚可以作为通用输入输出引脚,也可以通过软件控制来使用特定功能。其他引脚则是供其他模块使用的,如时钟引脚、中断引脚等。
2023-08-09 16:52:07
基于STM32F103ZET6编写的多功能引脚
前言本博文基于STM32F103ZET6编写;如有不足之处,多多指教;多功能引脚图下图为STM32芯片引脚细节图由图片可知,STM32大部分GPIO都有复用功能,所以在配置的时候要格外小心;下图
国名英雄XXX
2022-01-19 06:20:50
stm32f407引脚功能表
stm32f407引脚功能表1 主功能就是STM32基本IO口,与外设没有连接的,我们可以直接输出或读入高低电平使用时采用要初始化GPIO结构体参数,并打开端口的时钟2 默认复用功能是与外设连接
小嘛小二郎呀
2021-08-09 06:29:21
GD32 MCU的引脚输出功能应用配置
由于GD32和STM32是PIN对PIN的,他们的引脚排列、封装、大小都完全相同,所以GD32F103VET6的引脚结构与STM32F103VET6完全一样,由于大家都对STM32比较熟悉,所以这里直接采用STM32F103VET6的引脚图当做GD32F103VET6的引脚图,该引脚图如图1所示。
2023-07-02 14:52:00
STM32芯片的GPIO引脚
一、GPIO简介GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32芯片
xiongcanfei
2021-08-11 07:48:52
stm32读取boot引脚状态
在STM32微控制器中,Boot引脚(通常指的是BOOT0和BOOT1引脚)的状态决定了设备启动时的引导模式。这些引脚的状态在复位时被读取,并据此选择启动哪块存储器。比如,STM32F103系列
2024-08-22 09:48:24
STM32引脚中的BOOT1在哪里
STM32是STMicroelectronics(意法半导体)推出的一系列32位微控制器,广泛应用于嵌入式系统设计。关于STM32的BOOT1引脚,它主要与系统的启动模式有关。 BOOT1引脚功能
2024-08-22 09:43:42
ADC引脚功能配置
]={10,10,10};//定义一个数组存储数字电压,ADC_ConvertValue[0]存储ADC1的数据,ADC_ConvertValue[1]存储ADC2的数据//一定要配置为16位的数据,因为每一次传输的数据都是16位半字的//ADC引脚功能配置-----PB组的引脚存在问题,具体我也不太清楚为什么sta
笑尽往事
2021-08-18 06:06:55
STM32G474 th STM32CubeIDE TIM1中的中断功能 -> 引脚自动配置为输出?
我正在使用 STM32G474 th STM32CubeIDE,我想为 TIM1 实现中断功能。当我在引脚分配视图中将引脚 PA6 配置为 TIM1_BKIN 时,我希望该端口将自动配置为输入,但在
闷~~
2023-02-08 08:26:32