GPIO口除作为I/O口外还可复用为其他功能引脚,如串口发送或串口接收端。
可容忍的标准电压为3.3V,在技术手册中标有FT的GPIO可以容忍5V。
输入模式:
1. 浮空输入:对I/O口当前电平进行输入,通常用于读取I/O口输入,输入状态是不确定的。
2. 上拉输入:对I/O口置高电平输入。
3. 下拉输入:对I/O口置低电平输入,上拉和下拉电阻经常用于在不确定GPIO输入时确定状态。
4. 模拟输入:和另外三种输入方式不同,模拟输入的是模拟信号,一般用于AD转换。
输出模式:(值得注意的是,输出模式的输出结果可以用输入模式读取。)
1. 开漏输出:写入口与CPU相连。写入1时输出由外部上拉或下拉电阻决定电平;写入0时N-MOS管导通,电压为VSS,输出电平为低电平。
2. 复用开漏输出:与开漏输出模式类似,但写入口不与CPU相连而是和片上的外设模块相连。
3. 推挽输出:写入口与CPU相连。写入1时P-MOS管导通,N-MOS管截止,输出高电平;写入0时P-MOS管截止,N-MOS管导通,输出低电平。
4. 复用推挽输出:与推挽输出模式类似,但写入口不与CPU相连而是和片上的外设模块相连。
推挽输出和开漏输出的区别:
推挽输出:可以输出强高低电平(VSS和VDD),连接数字器件。
开漏输出:只能输出强低电平(VSS),高电平需要靠外部上拉电阻。输出相当于三极管集电极,电流吸收能力较好(20mA以内),适合做电流型的驱动。