GPIO简解即配置(寄存器版)

1. GPIO应用   

1.1.1什么是GPIO?

        GPIO是通用输入输出口。

1.1.2有什么用?

        主控输出数据是为了与外设交流,是为了控制外设工作,主控的输入是外设发回的信息(比如:外设工作状态、获取到的数据等)。

        输入输出的数据只能是0和1,对于机器来说只有断电(0-低电平)和上电(1-高电平),复杂的信息交流需要多次数据收发,我们将8个(或者8的倍数个)数据进行组合使用。

注意:我们的板子上电压是3.3V,其实1.7V就是低电平了,2.8V处于高电平状态了。​​​​​​

1.1.3怎么使用?

        想要学会GPIO的使用需要看懂这些寄存器,还需要一个目的,根据这个目的去研究寄存器如何使用。

        使用一个东西最好是有现象,这里使用输出数据来学习,因为输出数据连接到LED可用实现灯的亮灭。

  1. 2GPIO之点亮LED

    1.2.1看原理图

 

由上图可知:PC4输出低电平灯就会点亮,输出高电平灯灭。

补充:主控芯片的引脚分为ABCDEF等组,我们这款芯片(STM32F405RGT6)有ABCDH五组IO有用到,每一组IO由0~15组成。 

 

            1.2.2如何输出高低电平??

  • 输入浮空:浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。做按键,是要读取电平状态,这种配置抗干扰性差,但是处理信号方面一般是配置这个功能。如测试一个波形,这时候可以配置这个功能。
  • 输入上拉:经过电阻连接到VCC,能让IO口在没有连接信号时有一个确定的高电平,并且也能从VCC处获得比较大的驱动电流。
  • 输入下拉:经过电阻连接到GND,能让IO口在没有连接信号时有一个确定的低电平。
  • 模拟输入:芯片内部外设专用功能(ADC,DAC对应的IO口功能)
  • 开漏输出:IO输出0接地,IO输出1悬空,需要外接上拉电阻,才能实现输出高电平。
  • 推挽式输出:IO输出0接地,IO输出1接VCC,拥有较强的驱动能力。
  • 推挽式复用功能:GPIO口被用作第二功能时的配置情况(即并非作为普通IO口使用),比如像片上外设的UART、SPI模块对应的输出数据线
  • 开漏复用功能:GPIO口被用作第二功能时的配置情况(即并非作为普通IO口使用),比如像片上外设的IIC模块对应的数据线和时钟线,使用时要外接上拉电阻。

复用暂时理解方式是:自己控制输出高低电平是非复用,非自己控制是复用。

选择推挽输出模式。

​​​​​​​            1.2.3怎么让IO处于推挽输出模式下

在上面介绍的时候,我们看过有4个配置寄存器,应该就是它们。 

 

 

 

 

代码:

 

1.2.2​​​​​​​如何控制高低电平的输出?

 

 

​​​​​​​1.2.3时钟控制

按照规定所有功能在没有使用之前都应该是处于关闭状态,你需要开启它们才能使用,而时钟就是管理它们的东西。

AHB1管理的PC,所以去看看怎么开。

 

 

 

ok byebye !!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值