IO口是MCU中最基础的一个外设,基础并不等于简单,今天来聊一下IO口的基础概念和在工程实战中的注意事项。
电平
高电平:电压大于MCU供电电压的70%(经验值,具体datasheet),会认为是高电平。
低电平:电压小于MCU供电电压的30%(经验值,具体datasheet),会认为是低电平。
考虑一下如果MCU供电是3.3V,但输入电压是1.6V,MCU会识别为高还是低呢?
在硬件电路设计上一定要避免IO输入电压处于临界点。
耐压
IO都有耐压的。当电压高于一定的值时,IO口会被打坏。在使用的时候一定要注意看手册。
按照经验有ADC功能的IO口耐压会比其它IO口偏低。
上拉输入
在MCU内部会通过一个上拉电阻接到VCC上。
注意:使用上拉输入时外部不能有下拉电阻,有时下拉电阻非常隐蔽可能在某个芯片或者模块的内部。
上拉输入
在MCU内部会通过一个电阻接到GND上。
注意:使用下拉输入时外部不能有上拉电阻,有时上拉电阻非常隐蔽可能在某个芯片或者模块的内部。
浮空输入
MCU内部即无上拉电阻也无下拉电阻。
注意:浮空输入时外部一定要有上拉电阻或者下拉电阻否则极易受干扰。
推挽输出
推完输出的驱动能力最强。即可输出高也可以输出低。在输出高电平时直接接到电源上,能输出较大的电流,输出低电平时能快速的接到GND上将电平拉低。一般可用于驱动三极管、小功率mos管、LED等。
OD输出
只能将电平拉低不能拉高。这个比较典型的应用是在IIC接口上。