英尚微电子 · 2021年02月25日

初识灵动微MM32 GPIO

GPIO英文全称General-PurposeInput/OutputPorts,中文意思是通用I/O端口。由于MCU的通信外设接口众多,不可能每一外设固定一组GPIO,在MCU微控制器中,可通过软件运行期间能够动态配置和控制的引脚的状态,所以每个GPIO口除了通用输入输出功能外,还可能有其它复用功能。

灵动微MM32L0产品中,每个GPIO端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)、一个32位锁定寄存器(GPIOx_LCKR)和两个复用功能选择寄存器(GPIOx_AFRH)和(GPIOx_AFRL)。

GPIO端口的每个位可以由软件分别配置成多种模式。
-输入浮空
-输入上拉
-输入下拉
-模拟输入
-开漏输出
-推挽式输出
-推挽式复用功能
-开漏复用功能

每个I/O端口可以自由编程,然而必须按照32位字访问I/O端口寄存器(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器进行读/更改的独立访问;这样在读更改访问之间产生IRQ不会发生危险。

图1.I/O端口位的基本结构

1、输入浮空详解:
浮空(floating)就是逻辑器件的输入引脚既不接高电平,也不接低电平。一般实际运用时,引脚不建议悬空,易受干扰。

2、输入上拉\下拉详解:
上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻拉在高电平!弱强只是上拉电阻的阻值不同,没有什么严格区分。在MM32L0xxx中该上拉电阻位40k欧姆。

3、模拟输入详解:
模拟输入是指模拟信号的输入。配置模拟输入时,所有的上拉、下拉电阻和施密特触发器,均处于禁止状态,因此“输入数据寄存器”将不能反映端口上的电平状态,也就是说模拟输入配置下,CPU不能在“输入数据寄存器”上读到有效的数据。

4、开漏输出详解:
输出端相当于三极管的集电极,对输入数据寄存器的访问可得到I/O状态。可以做不同电压信号转换;多个同时级联还可以实现线与逻辑)。

5、推挽式输出详解:
可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。

6、复用功能详解:
可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。端口必须配置成复用功能输出模式(推挽或开漏)。

关于灵动
灵动微电子是国内专注于MCU产品与应用方案的领先供应商,是中国工业及信息化部和上海市信息化办公室认定的集成电路设计企业,同时也是上海市认定的高新技术企业。自2011年3月成立至今,灵动微电子已经成功完成数百余国产32位MCU产品的设计及推广,灵动微电子目前已批量供货的基于ARM Cortex-M0及Cortex-M3 内核的MCU产品包括:针对通用高性能市场的MM32F系列,针对超低功耗及安全应用的MM32L系列,具有多种无线连接功能的MM32W系列,电机及电源专用的MM32SPIN系列,以及OTP型的MM32P系列等,以满足客户及市场多领域、多层次的丰富应用场景需求。总代理英尚微电子支持提供免费开发板测试以及例程等技术支持。

推荐阅读
关注数
38
文章数
404
专业的静态随机记忆体产品及方案提供商,十年来专业致力代理分销存储器芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,为客人提供性价比更高的产品及方案
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息