第三章 寄存器点亮LED

一、GPIO

GPIO 是通用输入输出端口的简称,就是可控的引脚。

上拉是高电平,下拉是低电平

1693727391280

1、P-MOS 和 N-MOS 管

推挽输出: 低电平 0v,高电平 3.3v

输出高电平,经过反向后,上方 P-MOS 管导通,下方 N-MOS 管关闭,对外输出高电平。

输入低电平,经过反向后,上方 P-MOS 管关闭,下方 N-MOS 管导通,对外输出低电平。

当高低电平切换时,两个管轮流导通,P 负责电流,N 负责电流。

** 推挽输出一般应用在输出电平为 0,3.3v,需要高速切换开关的状态。

开漏输出:

P-MOS 管不工作。例如,输出 0,低电平,则 P-MOS 关闭,N-MOS 管导通,使输出接地。

输出为 1,P-MOS,N-MOS 都关闭,所以不输出高电平,低电平,为高阻态。

** 开漏输出一般应用在 I2C、SMBUS 通讯,需要“线与”( *指的是它们任意一开关只要对地导通,这根线就一定是低电平* )在总线电路上

输出:

输出数据寄存器

MOS 管结构电路的输出信号,由 GPIO“输出数据寄存器”GPIO_ODR 提供

“置位/复位寄存器 GPIOx_BSRR”可以通过修改输出数据寄存器的值从而影响电路的输出

复用功能输出

复用 是指 STM32 其它片上外设对 GPIO 引脚进行控制,此时 GPIO 引脚用作改外设功能的一部分。

例如我们使用 USART 串口通讯时,需要用到某个 GPIO 引脚作为通讯发送引脚,这个时候就可以把该 GPIO 引脚配置成 USART 串口复用功能,由串口外设控制该引脚,发送数据。

输入:

输出数据寄存器

连接到施密特触发器,模拟信号转换 0/1 数字信号,最好存储在“输出数据寄存器 GPIOx_IDR”中

复用功能输出

GPIO 引脚将信号传输到 stm32 其他片上外设,由该外设读取引脚状态

如我们使用 USART 串口通讯时,需要用到某个 GPIO 引脚作为通讯接收引脚,这个时候就可以把该 GPIO 引脚配置成 USART 串口复用功能,使 USART 可以通过该通讯引脚的接收远端数据。