ITPub博客

首页 > 嵌入式/内核开发 > 嵌入式/内核开发 > 初识灵动微MM32 GPIO

初识灵动微MM32 GPIO

原创 嵌入式/内核开发 作者:NETSOL 时间:2021-02-25 14:56:46 0 删除 编辑

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口使用)。端口必须配置成复用功能输出模式(推挽或开漏)。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69951841/viewspace-2759362/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
深圳市英尚微电子有限公司是英尚国际有限公司旗下大陆子公司,成立于2007年,是一家专业的静态随机记忆体产品及方案提供商,十年来专业致力代理分销存储器芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,为客人提供性价比更高的

注册时间:2019-12-19

  • 博文量
    243
  • 访问量
    113937