GPIO 配置#
GPIO Pull-up/Pull-down#
1. No pull-up and no pull-down (无上拉和下拉)#
- 含义: GPIO引脚在内部不连接任何电阻到电源(VDD)或地(GND)。
- 适用场景:
- 推挽输出 (Output Push Pull): 在这个模式下,GPIO的输出驱动电路可以强力地将引脚拉到高电平(连接到VDD)或强力地推到低电平(连接到GND)。引脚电平总是被明确定义的,永远不会浮空。因此,内部的上拉或下拉电阻是完全多余的。这就是你当前驱动LED的情况。
- 模拟输入 (Analog Mode): 在用作ADC输入等模拟功能时,为了不影响外部模拟信号的精度,必须禁用内部的数字上拉/下拉电阻。
- 外部已有上拉/下拉: 如果你的电路板上已经在外部为该引脚设计了上拉或下拉电阻,那么就应该禁用内部的,以避免两个电阻并联影响电路特性。
2. Pull-up (上拉)#
- 含义: 在GPIO内部,通过一个阻值较大的电阻(通常在30kΩ~50kΩ范围)将引脚连接到电源(VDD)。
- 作用: 当引脚不受外部驱动时(例如作为输入,且外部没有信号),这个内部电阻会将其电平“拉”到高电平。
- 典型适用场景:
- 按键输入: 这是最经典的应用。将按键的一端接GPIO,另一端接地。当按键未按下时,引脚处于悬空状态,内部上拉电阻使其稳定在高电平。当按键按下时,引脚被直接拉到地,变为低电平。MCU通过检测电平从高到低的变化就知道按键被按下了。
- I2C通信总线: I2C协议的SCL和SDA线是开漏(Open-Drain)输出。总线上的设备只能将线路拉低,不能主动推高。因此,总线需要上拉电阻来在空闲时将其恢复到高电平。在低速I2C中,可以使用MCU内部的上拉电阻。
- 单总线协议 (e.g., Dallas 1-Wire): 与I2C类似,也需要一个上拉电阻。
3. Pull-down (下拉)#
- 含义: 在GPIO内部,通过一个电阻将引脚连接到地(GND)。
- 作用: 当引脚不受外部驱动时,这个内部电阻会将其电平“拉”到低电平。
- 典型适用场景:
- 按键输入 (与上拉相反的逻辑): 将按键的一端接GPIO,另一端接电源(VDD)。当按键未按下时,内部下拉电阻使其稳定在低电平。当按键按下时,引脚被拉到高电平。
- 需要默认低电平的输入: 在某些逻辑设计中,希望一个输入的默认状态或安全状态是低电平。
SPI 配置#
Mode#
- 这里可以选择全双工、半双工、单传输、单接收等不同模式
Hardware NSS Signal#
- 这里选择是否使用硬件片选引脚
- 对于在主模式下工作的器件,此配置允许多主模式功能,此时应使用GPIO控制从机的片选。
- 对于设置为从模式的器件,NSS引脚用作传统的片选输入,在NSS引脚为低电平时片选该器件,为高电平时,取消对该器件的片选。
- 实际应用中,若配置为主模式,希望通过主机的NSS引脚硬件自动片选从设备,还需在硬件上对NSS引脚设计上拉,以保证主机SPI关闭时,NSS引脚为高电平。
Configuration#
Data Size#
- 每次传输的数据宽度
- 一般来说是 8bit
First Bit#
- (高/低) 有效位先传输
MSB高位优先(D7)LSB低位优先(D0)
Prescaler (for Baud Rate)#
- 系统频率预分频给波特率,SPI的通信速度
Clock Polarity (CPOL)#
- 时钟线(SCL)在空闲状态(没有数据传输时)是低电平还是高电平
Clock Phase (CPHA)#
- 数据在时钟的第几个边沿被采样(读取)
1 Edge= 第 1 个边沿(即上升沿 Rising Edge)采样。2 Edge= 第 2 个边沿(即下降沿 Falling Edge)采样。
中间件相关配置#
NFC4 配置#
2025.12.01
针对st25dv系列芯片:选用中间件 X-CUBE-NFC4
mode#
需要勾上两个勾:Board Part NFC & Board Support STM32Cube Custom BSP Drivers (软件包也是下这两个就行,这里是3.0.0版本)
Platform Settings#
手动配置三个项目:LPD & I2C & GPO
