STM32:1.GPIO通用输入输出口

1.1GPIO口输入输出原理

        GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式。输出模式 下可控制端口输出高低电平,用以LED、控制蜂鸣器、模拟通信协议输出时序等,输入模式 下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。

        STM32中,所有的GPIO都挂载在APB2外设总线上。命名方式采用GPIOA、GPIOB、GPIOC…的方式来命名。每个GPIO模块内,主要包括寄存器、驱动器等


I/O端口位的基本结构

        

        输入部分的上、下拉电阻:相应的两个开关可以通过程序进行配置,分别有上拉输入模式(上开关导通&下开关断开)、下拉输入模式(下开关导通&上开关断开)、浮空输入模式(两个开关都断开)。上下拉电阻的作用就是给引脚输入提供一个默认的输入电平,进而避免引脚悬空导致的不确定。都属于弱上拉、弱下拉。

        输入部分的触发器:这里是用肖特基管构成的施密特触发器。作用是对输入电压进行整形,可以消除电压波纹、使电压的上升沿/下降沿更加陡峭。也就是说,stm32的GPIO端口会自动对输入的数字电压进行整形。

        “模拟输入”、“复用功能输入”:都是连接到片上外设的一些端口,前者用于ADC等需要模拟输入的外设,后者用于串口输入引脚等需要数字量的外设。

                               

         输出数据:可以由输出数据寄存器(普通的IO口输出)、片上外设来指定,数据选择器控制数据来源。
        位设置/清除寄存器:单独操作输出数据的某一位,而不影响其他位。
        其中的MOS管:MOS管相当于一种开关,输出信号来控制这两个MOS管的开启状态,进而输出信号。可以选择推挽、开漏、关闭三种输出方式。
        推挽输出模式:两个MOS管均有效,stm32对IO口有绝对的控制权,也称为强推输出模式。
        开漏输出模式:P-MOS无效。只有低电平有驱动能力,高电平输出高阻。
        关闭模式:两个MOS管均无效,端口电平由外部信号控制。

GPIO的八种模式
名称性质特征

上拉输入

数字

空闲状态下,增加高电平的驱动能力;

下拉输入数字

空闲状态下,增加低电平的驱动能力;

模拟输入模拟

检测模拟电压,数据传给ADC做转换;

浮空输入

数字

空闲状态下,不具备高低电平驱动能力,直接输入的电压进行转换;

推挽输出

数字

直接把逻辑值输出成高低电平;

开漏输出

数字

只能输出低电平,输出为1时是高阻态(未知状态,电路上电压由电路来决定);经常应用在总线,需要增加上拉电阻配合使用;具有读取的功能;

复用推挽输出数字由片上外设控制
复用开漏输出数字由片上外设控制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值