1/0 什么是GPIO
GPIO全称为General Purpose Input Output,中文理解为通用输入输出端口。它指的是编程可控制的引脚,即可以控制引脚是作为输入来用,还是输出功能,又或者是交给片上外设使用(复用)。
2/0GPIO结构框图
理解GPIO硬件电路的实现,有助于编程的理解。下图是官方手册给出的GPIO框图:
此框图中只有最右端的I/O pin是板上外露可见的,其他部分均在芯片内部。该框图结构被分为两个部分,其一是输出结构,主要由引脚(I/O pin)、保护二极管(protection diode)、双MOS管(P-MOS+N-MOS)、输出控制(output control)、输出数据寄存器(output data register)、位置位/复位寄存器(bit set/reset register)组成 ;其二是输入结构,由引脚、保护二极管、双开关(on/off)、TTL肖特基触发器(TTL Schmitt trigger)、输入数据寄存器(input data register)组成。
2/1 保护二极管
两个二极管构成了双向限幅电路。当外部输入电压大于VDD时,上方二极管导通(全文皆忽略二极管和MOS管导通压降),使得电压限制在VDD左右;当外部输入电压低于VSS,下方二极管导通