GPIO简介
GPIO是通用输入输出的简称,说白了就是芯片的引脚,这些引脚用来与外部设备连接,从而实现与外部设备通信或者控制外部设备的功能。
最基本的例子:用GPIO连接外部设备(LED灯),控制芯片让GPIO引脚输出高低电平,从而控制LED灯的亮灭。
GPIO 框图剖析
通过 GPIO 硬件结构框图,就可以从整体上深入了解 GPIO 外设及它的各种应用模式。该图从最右端看起,最右端就是代表 STM32 芯片引出的 GPIO 引脚,其余部件都位于芯片内部。
引脚的两保护个二级管可以防止引脚外部过高或过低的电压输入,当引脚电压高于 VDD_FT 时,上方的二极管导通,当引脚电压低于 VSS 时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。但是并不意味着就可以输入高电压,具体电压要看手册,一般都是3.3V,能容忍5V
这个结构使 GPIO 具有了“推挽输出”和“开漏输出”两种输出模式。
推挽输出:1高电平3.3V,0低电平0V
开漏输出:1高阻态,0低电平0V
GPIO 工作模式
- 输入模式 (上拉/下拉/浮空)
- 输出模式 (推挽/开漏,上拉/下拉)
- 复用功能 (推挽/开漏,上拉/下拉)
复用功能模式中,输出使能,输出速度可配置,可工作在开漏及推挽模式,但是输出信号源于其它外设,输出数据寄存器 GPIOx_ODR 无效;输入可用,通过输入数据寄存器可获取 I/O 实际状态,但一般直接用外设的寄存器来获取该数据信号。 - 模拟输入输出