GPIO八种模式

(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出

在STM32中选用IO模式
(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1
(2)带上拉输入_IPU——IO内部上拉电阻输入
(3)带下拉输入_IPD—— IO内部下拉电阻输入
(4) 模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电
(5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能
(6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的
(7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL,SDA)
(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)

STM32设置实例:

(1)模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);

(2)如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU和浮空输入_IN_FLOATING和开漏输出_OUT_OD;

通常有5种方式使用某个引脚功能,它们的配置方式如下:
1)作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。
2)作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。
3)作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。
4)作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。
5)作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。

注意如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GPIO八种模式包括输入模式、输出模式、复用模式、高阻模式、推挽输出模式、中断模式、测试模式和热插拔模式。输入模式GPIO端口将读取外部设备发出的信号;输出模式GPIO端口将向外部设备发出信号;复用模式GPIO端口可以同时实现输入和输出功能;高阻模式GPIO端口被设置为高阻模式,输入端口的输入信号会被抑制;推挽输出指GPIO端口可以在输出模式时使用推挽输出模式;中断模式GPIO端口可以捕捉到外部设备发出的信号;测试模式GPIO端口可以用于测试外部设备;热插拔模式GPIO端口可以实现热插拔功能。 ### 回答2: GPIO共有8种模式,分别是输入(Input)、输出(Output)、复用功能(Alternate Function)、模拟(Analog)、推挽输出(Push-pull)、开漏输出(Open drain)、复用推挽输出(Alternate Function Push-pull)以及复用开漏输出(Alternate Function Open drain)。 1. 输入模式(Input):GPIO引脚作为输入,可以读取外部信号的电平状态。 2. 输出模式(Output):GPIO引脚作为输出,可以控制外部设备的电平状态。 3. 复用功能模式(Alternate Function):GPIO引脚作为其他功能的复用,可以实现多种功能,如UART、SPI、I2C等。 4. 模拟模式(Analog):GPIO引脚被用于模拟输入或输出,可以传递模拟信号。 5. 推挽输出模式(Push-pull):GPIO引脚作为输出,可以提供高(1)或低(0)电平,输出为串联两个开关的电路。 6. 开漏输出模式(Open drain):GPIO引脚作为输出,只能输出低电平(0),输出为开关与地之间串联的电路。 7. 复用推挽输出模式(Alternate Function Push-pull):GPIO引脚作为其他功能的复用,并能提供高或低电平。 8. 复用开漏输出模式(Alternate Function Open drain):GPIO引脚作为其他功能的复用,只能输出低电平。 通过使用不同的GPIO模式,我们可以实现多种不同的功能和电平控制,以满足不同场景的需求。 ### 回答3: GPIO,即通用输入/输出,是一种用于连接外部设备和单片机的通信接口。根据不同的功能需求,GPIO可以设置为八种不同的工作模式,分别为输入模式(Input Mode)、输出模式(Output Mode)、复用输入模式(Alternate Function Input Mode)、复用输出模式(Alternate Function Output Mode)、模拟模式(Analog Mode)、推挽输出模式(Push-pull Mode)、开漏输出模式(Open-drain Mode)和复用模式(Alternate Function Mode)。 输入模式是最常见的模式之一,用于接收外部信号。输出模式则用于驱动外部设备,将数据从单片机发送到外部设备。复用输入模式和复用输出模式用于将GPIO引脚与其他外设或功能模块连接起来,以实现更多的功能。模拟模式用于处理模拟信号,例如连接传感器等。推挽输出模式和开漏输出模式是输出模式的两种变体,推挽输出模式可提供更高的输出电流,而开漏输出模式则适合于与其他设备进行电平转换。最后,复用模式是一种通过配置寄存器来自定义GPIO功能的模式八种模式解释了GPIO的多样性和灵活性,可以根据具体需求选择合适的模式来处理输入和输出的信号。通过选择合适的模式GPIO可以在单片机和外部设备之间进行可靠的通信和数据交换,扩展了单片机的功能和应用范围。无论是控制外部设备还是接收外部信号,GPIO都是一个重要的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值