STM32-GPIO

一、GPIO功能

        GPIO,通用输入输出端口,作STM32的可控制引脚。STM32芯片通过GPIO与外部设备相连接,实现与外部通讯、控制及数据采集。

        基本的输出功能是控制引脚输出高、低电平,实现开关控制,如把GPIO引脚接入LED灯,控制LED灯亮灭,引脚接入到继电器或三极管,可通过继电器或三极管控制外部大功率电路的通断。

        基本的输入功能是检测外部电平。如把GPIO引脚连接到按键,通过电平高低区分按键是否被按下。

        每个GPIO端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),(GPIOx_IDR, GPIOx_ODR), 一个32位置位/复位寄存器(GPIOx_BSRF)(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。

二、GPIO模式

        ·输入浮空
        ·输入上拉
        ·输入下拉
        ·模拟输入
        ·开漏输出
        ·推挽输出
        ·推挽式复用功能
        ·开漏复用功能

2-1 GPIO推挽输出

        以Led为例。满足led灯亮条件:串联电路亮灯。

                                                          

        推挽电路主要由npn和pnp三极管组成:

                                           

 2-1-1 推挽电路之推:把电流“推”给负载

                       

        左侧提供高电平,导致Q1,Q2处高电平,npn三极管导通,pnp三极管断开,使得D3灯上端接5V,下端接地,形成串联电路,灯亮;

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        
        左侧提供低电平,导致Q1,Q2低电平,Q2处pnp三极管导通,使得D3灯上下端都接地,灯灭。

 

2-1-2 推挽电路之挽:把外头电流“挽”进来

        ​​​​​​​           

        左侧提供低电平,导致Q3,Q4处低电平,pnp三极管导通,使得D3灯上端接5V,下端接地,形成串联,灯亮;
        左侧提供高电平,导致Q3,Q4处高电平,Q3处npn三极管导通,使得灯上下端都接5V,灯灭。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         

∴ 推挽电路和负载关系:
            高低电平的驱动能力很强,电平的跳变速度很快.

2-2 GPIO开漏电路

        在STM32电路中由两个MOS管组成,这里用两个npn三极管代替,当接入负载时,不管给高电平还是低电平,负载灯都不亮。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

        原因:Q2导通,D1左右端都接地,则灯灭,若Q2不导通,D1右端还接地,左端悬空状态,D1也不亮。(开漏输出特点,即是 集电极输出).

        要使D1灯亮,内部加一个上拉电路。这时,Q2不导通,D1灯左端通过上拉电阻接正极5V,右端接地,灯亮;

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        
        若Q2导通, D1灯左右端都接地,灯灭。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​  

        所以,开漏高电平(Q2不导通,只有右端一路)驱动能力是由上拉电阻提供;而开漏低电平(Q2导通,左右两路)驱动能力很强,电平的跳变速度由上拉电阻决定,电阻越小反应越快,相应功耗也越大。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值