【STM32自学笔记-GPIO输入输出】

一、什么是GPIO

        GPIO是是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。 STM32 芯片的 GPIO被分成很多组,如GPIOA~GPIOF,每组有 16 个引脚。作为输出引脚可输出高低电平,从而作为开关控制,也可以作为模拟通讯时序状态。作为输入引脚可以通过读取输入的引脚高低电平从而确认按键的状态。引脚一般能容忍0~3.3V,带有FT标志的引脚可以容忍5V。

二、GPIO的结构框图

        图的上半部分是输入,下半部分是输出,输入部分中IO连接了2个保护二极管。用于对输入电压进行限幅。对输入起一个保护作用。输入部分种连接了一个弱上拉电阻VDD和一个弱下拉电阻VCC,连接这2个电阻的作用就是避免引脚浮空导致的输入数据不确定。可以通过程序来进行配置,当上拉电阻导通,下拉电阻断开,就是上拉输入模式,当下拉电阻倒通,上拉电阻断开,就是下拉输入模式。当2个电阻都断开,就是浮空输入模式。然后这里的施密特触发器的作用就是对输入电压进行整形。整形后就可以存放在输入数据寄存器中。模拟输入主要由片上外设ADC控制。

         输出部分主要由输出数据寄存器和片上外设控制。输出控制寄存器一次性可以控制16位IO的状态,想要单独控制某一位IO的引脚状态,可以通过位设置清除寄存器来实现。输出控制中还来连接了2个MOS管,其中PMOS接在VDD上,NMOS接在VSS上,当处于推挽输出模式时,NMOS管和PMOS管均有效。STM32对IO的高低电平有绝对的控制权。开漏输出模式下只有NMOS管有效,也就是低电平有效,PMOS管断开,处于高阻态状态。       

三、GPIO的八种工作模式

</
推挽输出 可控制IO输出高电平或低电平
开漏输出 可控制IO输出高组态或低电平
复用推挽输出 输出由其他片上外设控制,输出数据寄存器无效,输入可用
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值