1.什么是GPIO?
GPIO是General Purpose Input Output,即通用输入输出端口,简称GPIO
作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出。
采集输入:由VCC供电,当按键KEY按下IO口接收不到为0,当KEY未按下IO口接收VCC为1。
控制输出:IO口输出电平LED亮,IO口未输出LED灭。
2.GPIO特点
1.每个IO口都可以做中断
2.支持8种工作模式
3.F1系列IO端口输入基本结构
第一条路从IO口出发经过保护二极管和 上拉和下拉电阻,最后到达模拟输入(ADC和DAC)。 第二条路从IO口出发经过保护二极管和 上拉和下拉电阻,最后到达复用功能输出。
第三条路从IO口出发经过保护二极管和 上拉和下拉电阻,经过施密特触发器到达IDR(输出数据寄存器),将数据保存在IDR寄存器中,然后通过CPU读IDR寄存器。
4.施密特触发器简介
施密特触发器就是一种整形电路,可以将非标准方波,整形成方波。
当输入电压高于正向阈值电压,输出为高;
当输入电压低于负向阈值电压,输出为低;
当输入在正负向阈值电压之间,输出不改变。
5.P-MOS & N-MOS管简介
P-MOS管导通由VDD输出到IO口,可以让IO口呈现3.3V,从而输出高电平。
N-MOS管导通VSS值为0V导通到IO口,从而输出低电平。
6.GPIO的八种模式
输入浮空 | 输入用,完全浮空,状态不定 |
输入上拉 | 输入用,用内部上拉,默认是高电平 |
输入下拉 | 输入用,用内部下拉,默认是低电平 |
模拟功能 | ADC、DAC |
开漏输出 | 软件IIC的SDA、SCL等 |
推挽输出 | 驱动能力强,25mA(max),通用输出 |
开漏式复用功能 | 片上外设功能(硬件IIC 的SDA、SCL引脚等) |
推挽式复用功能 | 片上外设功能(SPI 的SCK、MISO、MOSI引脚等) |
输入浮空(空闲时,IO状态不确定,由外部环境决定)
输入上拉(空闲时,IO呈现高电平)
输入下拉(空闲时,IO呈现低电平)
模拟功能(专门用于模拟信号输入或输出,如:ADC和DAC)
开漏输出(不能输出高电平,必须有外部(或内部)上拉才能输出高电平)
①上拉电阻关闭
②下拉电阻关闭
③施密特触发器打开
④ P-MOS管始终不导通
⑤往ODR对应位写0,N-MOS管导通,写1则N-MOS管不导通(高阻态)
开漏式复用功能(不能输出高电平,必须有外部(或内部)上拉才能输出高电平 ,由其他外设控制输出)
①上拉电阻关闭
②下拉电阻关闭
③施密特触发器打开
④ P-MOS管始终不导通
⑤往ODR对应位写0,N-MOS管导通,写1则N-MOS管不导通(高阻态)
推挽输出(可输出高低电平,驱动能力强)
①上拉电阻关闭
②下拉电阻关闭
③施密特触发器打开
④往ODR对应位写0,N-MOS管导通,写1则P-MOS管导通
推挽式复用功能(可输出高低电平,驱动能力强,由其他外设控制输出)
①上拉电阻关闭 ②下拉电阻关闭 ③施密特触发器打开
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)