什么是GPIO

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/18 12:49:02
什么是GPIO什么是GPIO什么是GPIO嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号.而且,许多这样

什么是GPIO
什么是GPIO

什么是GPIO
嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号.而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭.对这些设备/电路的控制,使用传统的串行口或并行口都不合适.所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO.接口至少有两个寄存器,即“通用IO控制寄存器”与“通用IO数据寄存器”.数据寄存器的各位都直接引到芯片外部,而对这种寄存器中每一位的作用,即每一位的信号流通方向,则可以通过控制寄存器中对应位独立的加以设置.这样,有无GPIO接口也就成为微控制器区别于微处理器的一个特征.在实际的MCU中,GPIO是有多种形式的.比如,有的数据寄存器可以按照位寻址,有些却不能按照位寻址,这在编程时就要区分了.比如传统的8051系列,就区分成可位寻址和不可位寻址两种寄存器.另外,为了使用的方便,很多mcu把glue logic等集成到芯片内部,增强了系统的稳定性能,比如GPIO接口除去两个标准寄存器必须具备外,还提供上拉寄存器,可以设置IO的输出模式是高阻,还是带上拉的电平输出,或者不带上拉的电平输出.这在电路设计中,外围电路就可以简化不少.另外需要注意的是,对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的“端口”的概念.如果是内存映射,那就方便的多了.GPIO优点GPIO的优点(端口扩展器)低功耗:GPIO具有更低的功率损耗(大约1μA,μC的工作电流则为100μA).集成IIC从机接口:GPIO内置IIC从机接口,即使在待机模式下也能够全速工作.小封装:GPIO器件提供最小的封装尺寸 ― 3mm x 3mm QFN!低成本:您不用为没有使用的功能买单!快速上市:不需要编写额外的代码、文档,不需要任何维护工作!灵活的灯光控制:内置多路高分辨率的PWM输出.可预先确定响应时间:缩短或确定外部事件与中断之间的响应时间.更好的灯光效果:匹配的电流输出确保均匀的显示亮度.布线简单:仅需使用2条就可以组成IIC总线或3条组成SPI总线.与ARM 的几组GPIO引脚,功能相似,GPxCON 控制引脚功能,GPxDAT用于读写引脚数据.另外,GPxUP用于确定是否使用上拉电阻.