STM32Fxx系列单片机的GPIO可以配置为浮空输入(input floating)、上拉输入(input pull-up)、下拉输入(input pull-down)、模拟输入(analog)、开漏输出(output open-drain)、推挽输出(ouput push-pull)、复用开漏输出(alternate function open-drain)、复用推挽输出(alternate function push-pull)等8种模式。 先说明一下...
2.8 推挽式复用功能模式(Push-pull Alternate Function Mode) 在该模式下,GPIO引脚可以被配置为一些标准的或自定义的功能,例如USART通信的TX、RX数据线。这种模式下,GPIO引脚被配置为推挽输出模式,适用于直接驱动负载或者数据通讯。举例:在一个机器人系统中,需要使用串口通信来进行数据传输。可以将GPIO引脚配置为推挽式...
7. 开漏输出模式 + 下拉模式(Output mode, open-drain + pull-down): GPIO端口可以同时配置为开漏输出模式和下拉模式,输出低电平,并通过下拉电阻提供默认的低电平。此模式的常见应用场景包括开关控制、总线拉低等。 8. 复用功能模式 + 上拉/下拉模式(Alternate function mode + pull-up/pull-down): GPIO端口可...
复用推挽输出(Alternate function push-pull) 复用开漏输出(Alternate function open-drain) 推挽输出# 推挽输出模式下,MCU向输出数据寄存器中写入逻辑"1",输出控制器将P-MOS管开启,N-MOS管关闭,I/O与VDD接通,因此I/O引脚输出高电平,电流从VDD流向I/O引脚,电流往外流,就像是把电流往外推(push)一样。如图所示...
/* ConfigureUSART1Tx (PA.09) as alternate function push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); ...
/* If we are configuring the pin in ALTERNATE FUNCTION push-pull mode */caseGPIO_MODE_AF_PP:/* Check the GPIO speed parameter */assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_PP;...
输入下拉(Input pull-down) 模拟输入(Analog) 通用开漏输出(Output open-drain) 通用推挽式输出(Output push-pull) 推挽式复用功能(Alternate function push-pull) 开漏复用功能(Alternate function open-drain) 🔍GPIO的具体电路结构 每个GPIO引脚都有其具体的电路结构,包括输入驱动器、输出驱动器、保护二极管等。不...
/* GPIOB Configuration: Channel 1N, 2N and 3N as alternate function push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_Init(GPIOB, &GPIO_InitStructure); } void pwm_tim_init(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; ...
// Configure USART1 Tx pin as alternate function push-pull GPIO_InitStruct.GPIO_Pin = GPIO_Pin...
/* Configure USART3 Tx as alternate function push-pull */ GPIO_InitStructure.GPIO_Speed = GPIO_...