STM32学习二 GPIO介绍

GPIO:标准输入输出端口

目录

1GPIO框图

输入输出模式介绍:

寄存器配置


上下分为输入输出两个部分,先看保护二极管,当电压>3.3v时上面三极管导通,电压被输出出去,当电压<0v时下面三极管导通,所以总的来说两个三极管是限制电压在0-3.3v起到保护电路的作用。

上导通下断开,为上拉模式,默认为高电平的输入模式。下导通上断开,为下拉模式,默认为低电平的输入模式。上下同时断开为浮空输入模式,不确定的引脚输入模式(常用)。

TTL肖特基(施密特)触发器,用来整形波形,当波形大于或小于某个阈值上下限时默认为高/低。同时只有高于上限或者低于下限时波形才会变化,其他保持原有高/低状态。

另外还有模拟输入,需要模拟量所以截止施密特触发器前面,接收模拟数据常常用于ADC等设备。

复用输入,用于其他外设,需要数字量接在施密特触发器后面,常用于接一些外设上面。

输入输出模式介绍:

推挽,开漏,关闭三种输出模式。

推挽模式又称强推输出模式,高低电平都有较强的驱动能力。在该模式下:

当数据寄存器为1时,上管导通,下管断开为高电平模式;为0时,上管断开,下管导通,为低电平模式。

开漏模式下p-mos无效,所以来高电平时,p-mos无效且n-mos断开。

所以只有数据寄存器为0时有低电平。1. 可以作为通信协议的驱动方式,如IIC

2. 多机通信时可以避免各个设备之间的互相干扰。3. 输出5v的电平信号。

关闭模式下两个moss管都无效,因此高低电平由外部设备来控制

对于点亮LED和按键输入来说,重要的是存在电压差。

如上图所示PB12应该配置下拉输入,PB13应该配置下拉输入。只看PB12会发现他外接的是一个3.3V的高电压,当按键按下时会产生一个高电平信号输入到引脚,如果该引脚配置的是上拉输入那么PB12的引脚电压在按键按下前后感受不到变化。

LED灯如果外接电源那么引脚配置低电平信号的话两端存在电压差即可点亮led。

寄存器配置

stm32的中文参考手册分享

STM32中文参考手册_V10_stm32中文参考手册v10-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/mshlc0728/article/details/109476897

假如要给PA6配置10MHZ的推挽输出模式

1注意引脚从0开始数,每四个算一个引脚,所以24-27四位是我们需要配置的寄存器

2推挽00,10MHZ速度01,合起来就是0001

25-27清0:GPIOA->CRCL&=~(7<<25)

24置1:GPIOA->CRCL|=1<<24

高寄存器配置同理。

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值