STM32 (3) GPIO口功能讲解 GPIO 口输入输出 寄存器配置

讲解GPIO操作原理,使用各种型号的STM32 

打开官方的《STM32中文参考手册》8.1  8.2小节 

GPIO功能描述  我们今天重点要分析的是下图

上图是100脚的STM32单片机 

1.  GPIO是包含引脚的

2. 如何找GPIO功能: 看数据手册 在第3章   

我们要看GPIO口的功能就看这里        在这个表里面我们就能够查找到每一个GPIO口的功能

扫描二维码关注公众号,回复: 2670016 查看本文章

接下来我们要重点 

这里分成7个部分

1.引脚进来有两个保护二极管  作用:IO口电流输入高于3.3v时,上流 (保护芯片)但是 如果输入电压大于VDD很多的话

单片机还是会烧坏    举个例子: IO口直接接电机的时候  电机启动的时候会有反相电动势 会有过冲(电压很高),而且积分时间很短(二极管可能还没有起到开关作用)那么下图电路也就没有作用了,过冲电压直接进入芯片内部而损坏,如果想接电机要经过电机驱动

                                                                             

2 推挽输出

 比如说我们要配置成通用推挽输出  也就是让IO口输出高电平或者低电平 配置这个时我们对应的是   端口配置低寄存器或者是端口配置高寄存器   每4个位控制一个GPIO    如果我们要配置成  推挽输出  那么

   MODE位配置为01(输出速度10mhz)

  CNF位要设置为 00(根据MODE寄存器为推挽输出)下面分析电路是如何实现输出的?

输出数据寄存器输出  0/1 的时候  经过输出控制   控制两个MOS管  输出0v 或者3.3V  

我们将上面的推挽输出  简化成下图,  比如:ODR 寄存器 输出了1   经过   反相器就 成了0, 0的话上面的MOS管导通(P-MOS)当  Ug<Us 时 P-MOS导通,那么 OUT的电压就是3.3V(与VDD相同) 此时  N-MOOS是截止的

推挽输出:  为什么叫推?为什么叫挽?看电平方式,两个MOS管是轮流导通的    推:灌电流  可以到25ma(mos管内阻小)

挽: 拉电流  

                                                       

下面介绍   开漏输出   它输出不了高电平,因为此时上面的P-MOS管不工作  此时,当ODR寄存器输出高经过反相器变为0,N-MOS管截止, OUT引脚悬空   那么如果要在 开漏模式下输出高电平 就必须 借助外部的上拉  电阻与电源相接  ,如果想驱动5V设备就必须使VDD为5V.    一般用在I2C或者SMBus这类总线上

下面介绍一下端口输出数据寄存器: 只有低16位有效  对应外部GPIO口的16个引脚,

写1    GPIO引脚输出高电平

写0    GPIO引脚输出低电平

我们想要操作GPIO的时候可以直接操作  ODR寄存器 或者可以操作  位设置和位清除寄存器(BSRR),但是最终 位设置和位清除寄存器还是写入到ODR中,但是还是要看一下  设置和位清除寄存器 (BSRR)  ,这是一个32位寄存器,

低16位 用于置1   写1有效写0无效   

高16位 用于清0  写1有效写0无效    

还有一个端口位清除寄存器  

BRR寄存器的低16位相当于  BSRR寄存器的高16位    

还有复用功能 输出,它就不经过 ODR BSRR 这些寄存器了而是来自   片上外设

 讲完了  输出 接下来我们讲一讲 输入

 输入有一个   输入数据寄存器 IDR 也是只有低16位有效

如果是0  表示外部的引脚输入的是 0  如果是1 表示读到的是 高电平

这里还有一个 TTL肖特基触发器 (也叫施密特触发器) 比如:外部引脚中有一个3.3V的电压或者0V电压进来,可以通过开关配置为上啦输入 或者 下拉输入 这个对应端口配置寄存器。  肖特基开关的作用:外部的电平进来的是电压,而我们的输入数据寄存器只能读取0或者1,这时施密特触发器就把 输入时的电压       高于2.V的电压就把他变为1  往IDR寄存器相应位写1

 低于1.2V的时候是低电平(0)  往IDR寄存器相应位写0

如果是复用功能输入 就不进入 IDR寄存器了而是由  6进入到  复用功能输入

如果是ADC采集的时候就不会经过 施密特触发器了   如果是DAC的时候也不会经过 MOS管 而是直接输出到引脚

下面我们来说一下GPIO口的初始化配置

猜你喜欢

转载自blog.csdn.net/weixin_38787597/article/details/81530408