[野火]stm32用寄存器点亮LED灯

这篇博客是初学者学习STM32的笔记,详细介绍了GPIO的工作原理,包括保护二极管、P-MOS管和N-MOS管的作用,以及推挽输出和开漏输出的区别。博主通过直接操作内存地址和使用寄存器映射两种方式,演示了如何使用STM32的GPIO寄存器点亮LED灯。
摘要由CSDN通过智能技术生成

初学者的学习笔记,有问题的地方请多指教,会持续修改更新,不断学习进步。

4.26日更新

目录

1、对GPIO的简单刨析

2、直接操作绝对的内存地址点灯(一)

3、操作寄存器映射点灯(二)


对GPIO的理解:

GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pWF5ZC-5ZCN5Yid,size_20,color_FFFFFF,t_70,g_se,x_16

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

目的:防止引脚外部过高或过低的电压输入引入芯片导致芯片毁损。

当引脚电压高于VDD时,上方的二极管导通,当引脚电压低于VSS时,下方的二极管导通。如果io口连接电机,电机会产生反电动势,在极短时间内产生高压,二极管反应不过来,就有可能直接导致芯片烧坏。

2、P-MOS管和N_MOS管(推挽输出和开漏输出)

输出数据寄存器(ODR)写0或1时,通过输出控制,控制两个MOS管工作,通过外设的GPIO输出3.3V或0V

                                                                  推挽输出

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p6X56yR5YyX5Zyo57yW56iL5Lit5pG454is5rua5omT,size_17,color_FFFFFF,t_70,g_se,x_16

  在ODR对该结构输入高电平时, 经过反向后,上方满足Ug<Us,PMOS导通,下方的NMOS关闭,对外输出3.3V

在该结构输入低电平时,经过反向后,下方满足Ug>Us导通,NMOS导通,上方的PMOS关闭,OUT被拉入地,对外输出0

当引脚高低电平切换时,两个管子轮流导通,P管负责灌电流,N管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。

推挽输出的低电平为0V,高电平为3.3V

开漏输出

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p6X56yR5YyX5Zyo57yW56iL5Lit5pG454is5rua5omT,size_19,color_FFFFFF,t_70,g_se,x_16

 特性:只输出低电平,无法直接输出高电平。

若控制输出为1时,PMOS管和NMOS管都关闭,引脚既不输出高电平,也不输出低电平,为高阻态,为正常使用,必须接上拉电阻。

总结:推挽输出模式一般应用在输出电平为0和3.3V而且需要高速切换开关状态的场合。在STM32的应用中,除了必须用开漏模式的场合,都习惯用推挽输出模式

开漏输出具有“线与”功能,一个为低,全部为低,多用于I2C和SMBUS总线,除此之外,还有电平不匹配的场合,如需要输出5V的高电平&

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值