STM32的GPIO端口

GPIOGeneral Purpose Input & Output
STM32芯片最拥有GPIOAGPIOBGPIOG7组端口,每组端口最多拥有Pin0、Pin1…Pin15共16个引脚
STM32的每个I/O端口都可以自由编程,但I/O端口寄存器必须按32位字被访问。STM32的每个I/O端口都由7个寄存器来控制。
STM32的GPIO端口可以由软件配置成8种模式
推挽输出、开漏输出、推挽式复用功能、开漏式复用功能;
模拟输入、浮空输入、下拉输入、上拉输入。

GPIO电平输出HAL库函数

void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

参数1:GPIOx,端口号,如:GPIOB,GPIOF。
参数2:GPIO_Pin,引脚号,如:GPIO_PIN_9,GPIO_PIN_12。
参数3:PinState,引脚输出状态。高电平----GPIO_PIN_SET;低电平----GPIO_PIN_RESET。
返回值:void,空。

GPIO电平翻转HAL库函数

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx,  uint16_t GPIO_Pin);

参数1:GPIOx,端口号,如:GPIOB,GPIOF。
参数2:GPIO_Pin,引脚号,如:GPIO_PIN_9,GPIO_PIN_12。
返回值:void,空。

上拉电阻结构

I/O口输入电平后,VDD/VSS(上拉/下拉)浮空模式下不会打开,数据传输到打开状态下的施密特触发器,继续传输到输入数据寄存器,CPU通过输入数据寄存器读取数据。输入上拉电阻相较与输入浮空,输入上拉存在一个接通的上拉电阻(阻值为30K~50K)

上拉电阻结构

相较与输入浮空,输入上下存在一个接通的下拉电阻(阻值为30K~50K)

推挽输出

推挽输出模式,是根据这两个 MOS 管的工作方式来命名的。在该结构中输入高电平时,经过反向后,上方的 P-MOS 导通,下方的 N-MOS 关闭,对外输出高电平;而在该结构中输入低电平时,经过反向后,N-MOS 管导通,P-MOS 关闭,对外输出低电平。当引脚高低电平切换时,两个管子轮流导通,P 管负责灌电流,N 管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。推挽输出的低电平为 0伏,高电平为 3.3伏,具体参考图 8-2,它是推挽输出模式时的等效电路。

 

 

 

版权声明:本文为CSDN博主「7尹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_53962080/article/details/122868064

GPIOGeneral Purpose Input & Output
STM32芯片最拥有GPIOAGPIOBGPIOG7组端口,每组端口最多拥有Pin0、Pin1…Pin15共16个引脚
STM32的每个I/O端口都可以自由编程,但I/O端口寄存器必须按32位字被访问。STM32的每个I/O端口都由7个寄存器来控制。
STM32的GPIO端口可以由软件配置成8种模式
推挽输出、开漏输出、推挽式复用功能、开漏式复用功能;
模拟输入、浮空输入、下拉输入、上拉输入。

GPIO电平输出HAL库函数

void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

参数1:GPIOx,端口号,如:GPIOB,GPIOF。
参数2:GPIO_Pin,引脚号,如:GPIO_PIN_9,GPIO_PIN_12。
参数3:PinState,引脚输出状态。高电平----GPIO_PIN_SET;低电平----GPIO_PIN_RESET。
返回值:void,空。

GPIO电平翻转HAL库函数

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx,  uint16_t GPIO_Pin);

参数1:GPIOx,端口号,如:GPIOB,GPIOF。
参数2:GPIO_Pin,引脚号,如:GPIO_PIN_9,GPIO_PIN_12。
返回值:void,空。

上拉电阻结构

I/O口输入电平后,VDD/VSS(上拉/下拉)浮空模式下不会打开,数据传输到打开状态下的施密特触发器,继续传输到输入数据寄存器,CPU通过输入数据寄存器读取数据。输入上拉电阻相较与输入浮空,输入上拉存在一个接通的上拉电阻(阻值为30K~50K)

上拉电阻结构

相较与输入浮空,输入上下存在一个接通的下拉电阻(阻值为30K~50K)

推挽输出

推挽输出模式,是根据这两个 MOS 管的工作方式来命名的。在该结构中输入高电平时,经过反向后,上方的 P-MOS 导通,下方的 N-MOS 关闭,对外输出高电平;而在该结构中输入低电平时,经过反向后,N-MOS 管导通,P-MOS 关闭,对外输出低电平。当引脚高低电平切换时,两个管子轮流导通,P 管负责灌电流,N 管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。推挽输出的低电平为 0伏,高电平为 3.3伏,具体参考图 8-2,它是推挽输出模式时的等效电路。

 

 

 

版权声明:本文为CSDN博主「7尹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_53962080/article/details/122868064

生成海报
点赞 0

创世纪

单片机学习,电子制作DIY学习与分享,各种新鲜的,有趣的,好玩的,一起来吧!机器人、无人机、树莓派/Raspberry Pi、arduino、极客、创客等

暂无评论

发表评论

相关推荐

KEIL5安装STM32的芯片支持包

第一步: 找到芯片支持包的网址 https://www.keil.com/dd2/Pack/ 第二步:找到STM32系列的芯片支持包 第三步:下载完后得到 将该文件加入到KEIL5的安装目录中 接

ESP32S2+ES8388移植过程及问题

电路图如下, 有点小瑕疵ES8388_VMID PIN10/19/20电容没有忘加,查资料应该不影响语言输出,可能噪音大,如果能导致不输出请告诉我一下。 ESP32S2管脚映射 这里主

【STM32Cube笔记】2-STM32Cube安装教程

【STM32Cube笔记】系列文章目录 1-基于STM32的VSCode入门级教程前言 2-STM32Cube安装教程 3-STM32CubeIDE汉化 4-STM32Cube配置时钟设置 5-跑马灯引脚配置 6-Cortex-M7内核基本配