文章目录
2022/05/04
原理图部分使用立创EDA进行绘制
为方便绘图和理解,STM32引脚中MOS管使用三极管进行代替
51单片机引脚模式
学习过电学部分后,似乎下图更符合我们的习惯,当单片机MCU端输出为高时LED被点亮,当单片机MCU端输出为低时LED熄灭
但我们查阅普中A2开发板的原理图后可以发现,流水灯模块的LED阳极端统一被接入到了Vcc上,阴极端才接入到了MCU的引脚上
这是由于在STC89C52RC单片机中,单片机引脚的灌入电流能力远远大于输出电流的能力,由于时间原因,并未在官方数据手册中找到对引脚电流的具体描述,但我们可以参考下图中百度网友的回答(数据非官方,仅供参考)
我们参考优快云文章 STC89C52RC特点及引脚介绍
可以得知,普中LED模块用到的P2组端口为准双向口,具体模式如下图。到此,我们可以知道为什么在51中LED模块通常采用共阳接法而不采用共阴接法
STM32单片机的引脚模式
而在STM32单片机中,引脚有八种模式可以供我们使用软件进行选择,引脚模式如下图
上拉输入 GPIO_Mode_IPU
- 等效电路:
- 特点:当输入端无输入时,MCU端为高 ,输入单片机为高;当输入端为低时,电压全部施加到电阻上,MCU端为低,输入单片机为低
- 应用:按键(如下图)一些传输协议
下拉输入 GPIO_Mode_IPD
- 等效电路:
- 特点:类似于上拉,当输入端无输入时,MCU端为低;当输入端为高时,MCU端为高
- 应用:按键 一些传输协议
浮空输入 GPIO_Mode_IN_FLOATING
- 等效电路:
- 特点:输入端输入的信号直接输入到MCU中
- 应用:传输协议
模拟输入 GPIO_Mode_AIN
- 等效电路:
- 特点:输入的信号经过AD转换后输入到MCU中 (类似于在51中我们使用pcf8591进行AD转换)
- 应用:AD采集
推挽输出 GPIO_Mode_Out_PP
- 等效电路:
- 特点:由于Vcc端和GND端均接入了MOS管,因此该方式既可以提供电流较大的高,也可以提供电流较大的低
- 应用:共阳共阴均可使用的点灯(但由于实际应用中为保证MCU的安全,一般不允许端口处直接驱动功率较大的LED灯,一般要外接驱动电路,具体可以参考 LED驱动电路 )
开漏输出 GPIO_Mode_Out_OD
- 等效电路:
- 特点:由于GND端接入MOS管,因此可以由很大的灌入电流;Vcc端接入上拉电阻,因此输出电流能力很弱(类似于51的模式)
- 应用:共阳点灯
推挽输出与开漏输出的对比
推挽输出 | 开漏输出 | |
---|---|---|
高电平驱动能力 | 强 | 由上拉电阻决定 |
低电平驱动能力 | 强 | 强 |
电平跳换速度 | 快 | 外部电阻决定 |
线与功能 | 不支持 | 支持 |
电平转换 | 不支持 | 支持 |
复用推挽输出 GPIO_Mode_AF_PP
由复用外设控制输出,其它与推完输出相同
复用开漏输出 GPIO_Mode_AF_OD
由复用外设控制输出,其它与开漏输出相同