初识灵动微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口使用)。端口必须配置成复用功能输出模式(推挽或开漏)。
初识灵动微MM32 GPIO相关推荐
- 灵动微MM32可替换兼容意法半导体STM32
意法半导体(ST)是半导体供应商的翘楚,致力于与日常生活息息相关的智能的.高效能的产品及解决方案.意法半导体的产品无处不在,致力于与客户共同努力实现智能驾驶.智能工厂.智能城市和智能 家居,以及下一代 ...
- 灵动微MM32产品特色及应用市场
MM32系列是灵动微电子于2020年推出的新一代通用MCU平台,旨在为客户提供更高性能.更低功耗.更高可靠性.稳定性和健壮性的微控制器.全新MM32硬件上与经典MM32全兼容,保留了2.0-5.5V宽 ...
- 灵动微 MM32 多路ADC-DMA配置
一.问题 最近在使用灵动微的MM32,当用多路ADC-DMA时,出现了一些问题,所以在此记录一下 总结下来,处理了下面几个问题(这里的问题是拿到最新的SDK包,参考example没办法解决的) 多路通 ...
- 灵动微MM32 eMiniBoard介绍
板子名称 MM32 eMiniBoard(MCU型号:MM32L073PF) MM32 eMiniBoard开发板照片及简介 MM32 eMiniBoard 图片 MM32 eMiniBoard 简介 ...
- 灵动微MM32的FSMC接口驱动TFT_LCD屏幕
FSMC存储区域说明(挂载在AHB3总线) BANK1的基地址是0x60000000,不同的子bank地址不同,通过HADDR[27:26]这两位的值确定. HADDR[27:26] BANK SEL ...
- 国产灵动微MM32F3277G7P兼容STM32F103RCT6
由于st芯片价格高且缺货严重,不少厂家想用国产芯片代替.国产32位单片机厂商上海灵动微电子便是一个不错的选择.灵动微MM32系列基于ARM Cortex-M0及Cortex-M3内核,产品包括:针对通 ...
- 分享灵动微国产32位MCU全新MM32F系列
全新MM32系列是灵动微电子于2020年推出的新一代通用MCU平台,旨在为客户提供更高性能.更低功耗.更高可靠性.稳定性和健壮性的微控制器.全新MM32硬件上与经典MM32全兼容,保留了2.0-5.5 ...
- 使用灵动微MM32F3277G7P替换STM32F103RCT6程序死机问题解决方法
最近st芯片价格高,想用国产芯片代替.找到灵动微电子的代理要了几片样片mm32f3277g7p.管脚兼容,但软件要使用灵动微的固件库重新编译一次,还要修改一些时钟配置函数.编译完成后下载到电路板上的芯 ...
- 灵动微电子MM32 MCU烧录经验分享
最近有部分刚接触MM32 MCU的用户朋友们碰到了MCU无法进行下载的情况,然后跟我们反馈芯片有问题,最后经过技术工程师跟进,其实都是用户程序使用错误或者操作不规范等原因造成的,并非芯片有问题.如果大 ...
最新文章
- linux 入门-1
- Spring MVC 实现Excel的导入导出功能(2:Excel的导入优化和Excel的导出)
- Jerry的CRM Middleware(中间件)文章合集
- GBin1分享的10个吸引眼球的jQuery插件
- 使用云原生buildpacks将你的代码转换成Docker Image | 技术头条
- linux搭建vsftp服务器_Linux配置VSFTP服务器的方法
- HUSD审计报告:托管账户储备超7.87亿美元
- java 读取excel 文件 Unable to recognize OLE stream 错误
- 网上的tensorflow和cnn教程汇总
- linux 第六章 linux中的进程管理
- 康佳android 9tv,汇总:康佳电视机型与软件对应关系速查表 附电视升级方法
- 微信小程序云开发数据库update函数更新不了数据(已解决)
- 切蛋糕问题【小学二年级奥数】
- 充电宝为arduino供电
- 如何删除计算机文件类型,怎么删除win10.1电脑中的文件夹分类?
- C++实现基于博弈树的5x5一子棋人机对战
- 身份证扫描到一个PDF或图片
- 计算机硬盘没显示,移动硬盘不显示在我的电脑
- 完全用Linux编程及其后续
- 实现制作萝莉语音包前的准备——百度AI的使用介绍
热门文章
- 使用charls抓取安卓模拟器的网络请求
- JVM笔记——根据黑马jvm课程课件+自己总结
- 2017年「人工智能」大事记
- 如何解决Camtasia下载安装时“2503”报错
- php虚线_虚线 · 前端技术总结 · 看云
- python语音合成 标贝_让机器的声音听起来更像人声,专注语音合成前端技术的「标贝科技」完成千万级人民币融资...
- 计算机音乐行者,“音乐行者”胡渭康:这首歌是“心灵鸡汤”
- 史上最全最牛的XT800百科问答与使用指南
- 用Python下载网页视频
- 2018最新Spring Cloud 系列学习附课件全套