学习STM32---GPIO

学习内容:配置GPIO输出初始化顺序

MODER(输出模式)OTYPER(输出类型)OSPEEDR(输出速度)PUPDR(是否上拉)ORD(输出内容)/BSSR(端口置位/复位)

笔记:

GPIO结构(模拟电路知识)

1&2、保护二极管及上、下拉电阻

钳制I/O口的输入输出,通过“上拉/下拉寄存器GPIOx_PUPDR”控制引脚的上、下拉以及浮空模式。

3、P-MOS管和N-MOS管

线路经过一个由P-MOS和N-MOS管组成的单元电路。这个结构使GPIO具有了“推挽输出”和“开漏输出”两种模式。

推挽模式:

在STM32的应用中,除了必须用开漏模式的场合,我们都习惯使用推挽输出模式。

开漏模式:

开漏输出一般应用在I2C、SMBUS通讯等需要“线与”功能的总线电路中。除此之外,还用在电平不匹配的场合,如需要输出5伏的高电平。开漏类型不能直接输出高电平,要输出高电平还要在芯片外部接上拉电阻

 第一个作用是,配合上拉电阻控制输出电压。

第二个作用是实现“线与”,用几个GPIO去控制一个输出,只有全关闭时才能被上拉为高电平。 

推挽 开漏 高阻 这都是谁想出来的词??_哔哩哔哩_bilibili

 4、输出数据寄存器

寄存器GPIOx_ODR输出,置位/复位寄存器GPIOx_BSRR”可以通过修改输出数据寄存器的值

GPIO工作模式:

1、输入模式(上拉/下拉/浮空):数据寄存器每隔1个AHB1时钟周期更新一次,可通过输入数据寄存器GPIOx_IDR读取I/O状态。其中AHB1的时钟如按默认配置一般为180MHz;

2、输出模式(推挽/开漏,上拉/下拉):输出数据寄存器GPIOx_ODR可控制I/O输出高低电平。此时施密特触发器是打开的,即输入可用,通过输入数据寄存器GPIOx_IDR可读取I/O的实际状态。

通过设置“模式寄存器GPIOx_MODER”可配置GPIO的输入/输出/复用/模拟模式,

“输出类型寄存器GPIOx_OTYPER”配置推挽/开漏模式,

配置“输出速度寄存器GPIOx_OSPEEDR”可选2/25/50/100MHz输出速度,

“上/下拉寄存器GPIOx_PUPDR”可配置上拉/下拉/浮空模式

遇到的问题:

参考:

GPIO口有关上拉电阻和下拉电阻&推挽输出&开漏(OD)和开集(OC)_把一个gpio配置成开漏上拉-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值