正点STM32视频随笔

目录

STM32启动模式

GPIO工作方式

输入模式:

模式1:输入浮空模式

模式2,输入上拉模式: 

模式3:输入下拉模式:

模式4:模拟模式

输出模式:

 模式1:开漏输出模式

模式2:开漏复用输出模式

模式3:推挽输出模式

模式4:复用推挽输出

最后总结下使用情况:

GPIO相关配置寄存器


STM32启动模式

BOOT1 = X, BOOT0 = 0,执行flash程序

BOOT1 = 0, BOOT0 = 1,通过串口下载,使用Bootloader

BOOT1 = 1, BOOT0 = 1,不常用

GPIO工作方式

输入模式:

模式1:输入浮空模式

一般多用于外部按键输入。IO 的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。

(施密特触发器:门电路有一个阈值电压,当输入电压从低电平上升到阈值电压或从高电平下降到阈值电压时电路的状态将发生变化。施密特触发器是一种特殊的门电路,与普通的门电路不同,施密特触发器有两个阈值电压,分别称为正向阈值电压和负向阈值电压。在输入信号从低电平上升到高电平的过程中使电路状态发生变化的输入电压称为正向阈值电压,在输入信号从高电平下降到低电平的过程中使电路状态发生变化的输入电压称为负向阈值电压。正向阈值电压与负向阈值电压之差称为回差电压。

它是一种阈值开关电路,具有突变输入——输出特性的门电路。这种电路被设计成阻止输入电压出现微小变化(低于某一阈值)而引起的输出电压的改变。

利用施密特触发器状态转换过程中的正反馈作用,可以把边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。输入的信号只要幅度大于vt+,即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。

当输入电压由低向高增加,到达V+时,输出电压发生突变,而输入电压Vi由高变低,到达V-,输出电压发生突变,因而出现输出电压变化滞后的现象,可以看出对于要求一定延迟启动的电路,它是特别适用的。

应用:

1. 波形变换

可将三角波、正弦波、周期性波等变成矩形波。

2. 脉冲波的整形

数字系统中,矩形脉冲在传输中经常发生波形畸变,出现上升沿和下降沿不理想的情况,可用施密特触发器整形后,获得较理想的矩形脉冲。

3. 脉冲鉴幅

幅度不同、不规则的脉冲信号施加到施密特触发器的输入端时,能选择幅度大于预设值的脉冲信号进行输出。

4、构成多谐振荡器

幅值不同的信号在通过加上一个合适电容的施密特触发器后会产生矩形脉冲,矩形波脉冲信号,常用作脉冲信号源及时序电路中的时钟信号

 

模式2,输入上拉模式: 

在浮空模式基础上,加了一个上拉电阻

模式3:输入下拉模式:

在浮空模式基础上,加了一个下拉电阻

模式4:模拟模式

将模拟量转换成数字量,模拟量是电压,数字量是电平,输入一般是0~3.3V

输出模式:

 模式1:开漏输出模式

开漏输出:输出端相当于三极管的集电极。 要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般 20ma 以内)。

如果在输入控制电路上得到高电平,则NMOS关断,I/O端口获得的高低电平完全取决于外部上拉或者下拉电阻信号,如果在输入控制电路上得到低电平,则NMOS开启,I/O端口获得的就是低电平

 

模式2:开漏复用输出模式

与模式1的区别是输出控制电路的信号不来自于输出数据寄存器,而是来自于复用功能的外设

模式3:推挽输出模式

推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由 IC 的电源低定。若输出控制电路是1,则PMOS导通,则I/O口输出1;若输出控制电路是0,则NOMS导通,则I/O口输出0.

推挽电路是两个参数相同的三极管或 MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。

模式4:复用推挽输出

 与上一个区别是信号来源不一样

最后总结下使用情况:

在 STM32 中选用 IO 模式
(1)浮空输入_IN_FLOATING ——浮空输入,可以做 KEY 识别,RX1
(2)带上拉输入_IPU——IO 内部上拉电阻输入
(3)带下拉输入_IPD—— IO 内部下拉电阻输入
(4)模拟输入_AIN ——应用 ADC 模拟输入,或者低功耗下省电
(5)开漏输出_OUT_OD ——IO 输出 0 接 GND,IO 输出 1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为 1 时,IO 口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO 口也就可以由外部电路改变为低电平或不变。可以读 IO 输入电平变化,实现 C51 的 IO 功能

(6)推挽输出_OUT_PP ——IO 输出 0-接 GND, IO 输出 1 -接 VCC,读输入值是未知的
(7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C 的 SCL,SDA)

(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)
 

通常有 5 种方式使用某个引脚功能,它们的配置方式如下:
1)作为普通 GPIO 输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。
2)作为普通 GPIO 输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。
3)作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。
4)作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。
5)作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。

 

GPIO相关配置寄存器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值