通用输入输出端口 - GPIO
一、概述
GPlO ( General Purpose I/0 Ports )意思为通用输入/输出端口, 通俗地说, 就是一些引脚。在芯片手册中I/O端口一般是分组的,比如有的芯片分为 A~J 共 9 组: GPA 、 GPB 、...GPJ
二、怎么用
一个引脚可以用于输入、 输出、中断或其他特殊功能,那么首先肯定有寄存器来选择配置引脚使用哪种功能。
1)当引脚被配置输出时, 写此寄存器相应位可令此引脚输出高电平或低电平(有些SoC的输出引脚状态也是可以读的);
2)当引脚被配置输入时, 读此寄存器可知相应引脚的电平状态是高还是低;
3)当引脚被配置中断时,soc若收到外部中断时,就会给CPU发一个中断信号,cpu会处理中断了
例如:当外部器件如网卡芯片和soc通信中收到数据了,那怎么通知SOC自己收到数据了呢?原来网卡芯片中断引脚是接到soc芯片的某一引脚中,网卡可驱动中断引脚为高电平(原来为低电平),soc芯片的该引脚此时时被设置为中断模式(soc的中断引脚必须满足二个条件:1、有输入功能功能,这样就能读寄存器,确定引脚是高电平还是低电平;2、可以中断CPU。),当检测到高电平时便可知道有数据了,此时就可以用中断了。
当然也可以通过轮询的方式来处理,此时将SoC引脚设为输入模式,不断查询来自网卡的数据,当检测到高电平时便可知道有数据了。但是这种不断查询的方式又很浪费时间
3)对于其他特殊功能, 则有另外的寄存器来控制它。
例如:对于以上所述各组 GPIO 引脚,它们的寄存器是相似的,如: GPxCON 用于选择引脚配置(Configure)功能, GPxDAT用于读/写引脚数据,GPxUP 用于确定是否使用内部上拉电阻(某位为 1 时,相应引脚无内部上拉电阻:为 0 时,相应引脚使用内部上拉电阻)等。
上拉电阳、 下拉电阻的作用在于, 当 GPIO 引脚处于第三态(既不是输出高电平, 也 不是输出低电平, 而是里高阻态, 即相当于没接芯片)时, 它的电平状态由上拉电阻、 下 拉电阻确定。
通用输入输出端口 - GPIO的更多相关文章
- 实验记录三 通用输入输出(GPIO)
之前把全部程序都跑了一次后,得到了导师下一步的安排. 例如以下: 1.编写一个程序.实如今LCD上显示一个万年历,包含年月日 星期 还有室内的温度.2.编写一个程序,将原来的交通灯改为跑马灯. 期限是 ...
- 树莓派3B+学习笔记:4、查看GPIO
GPIO(General Purpose I/O Ports)意思为通用输入/输出端口. 可以在终端重直接查看GPIO的定义. 查看方式1: gpio readall 查看方式2: pinout 可以 ...
- STM32的GPIO工作原理 | 附电路图详细分析
STM32的GPIO介绍 STM32引脚说明 GPIO是通用输入/输出端口的简称,是STM32可控制的引脚.GPIO的引脚与外部硬件设备连接,可实现与外部通讯.控制外部硬件或者采集外部硬件数据的功能. ...
- GPIO基础知识
STM32 GPIO入门知识 GPIO是什么? 通用输入输出端口,可以做输入,也可以做输出.GPIO端口可通过程序配置成输入或输出. 引脚和GPIO的区别和联系 STM32的引脚中,有部分是做GPIO ...
- 【嵌入式Linux+ARM】GPIO操作
1.GPIO介绍 GPIO(general purpose i/o ports)意思为通用输入/输出端口,通俗的说就是一些引脚. 我们可以通过它们输出高低电平 或 读入引脚的状态. s3c2440中有 ...
- GPIO简介
GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平. GPIO口一是 ...
- 使用寄存器点亮LED(第1节)—GPIO功能框图讲解
GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚, STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯.控制以及数据采集的功能.STM32 ...
- STM32入门系列-GPIO概念介绍
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出.STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯 ...
- stm32学习笔记之GPIO功能框图分析
GPIO 是通用输入输出端口的简称,简单来说就是STM32 可控制的引脚,STM32 芯片的GPIO 引脚与外部设备连接起来,从而实现与外部通讯.控制以及数据采集的功能.STM32 芯片的GPIO被分 ...
随机推荐
- 软件项目技术点(6)——结合鼠标操作绘制动态canvas画布
AxeSlide软件项目梳理 canvas绘图系列知识点整理 我们创建一个类封装了所有鼠标需要处理的事件. export class MouseEventInfo { el: HTMLElemen ...
- 准备Activiti开发环境
1.添加jar包 在activiti-5.13 -> wars 目录下 解压 activiti-rest.war ,导入WEB-INF\lib下所有包添加到classpath中. 由于使用的是O ...
- 项目经验:GIS<MapWinGIS>建模第六天
针对管网的暴管发生情况的,关阀分析,能够更快,更及时给施工作人员找到最近需要关停的阀门点,及受影响的管网段,如在这个区域内,还能找到受影响需要停水的用户
- 关联函数 map 的基本用法
1.map简介 map是一类关联式容器.它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响.对于迭代器来说,可以修改实值,而不能修改key. 2.map的功能 自 ...
- recommendation baselines
整理recommendation baseline 的实现代码和方法归类: bpr: https://github.com/gamboviol/bpr fpmc: https://github.c ...
- Redux学习笔记-基础知识
Redux概述 是什么:Redux是管理状态的容器,提供可预测的状态管理. 怎么做:Redux主要是用来管理组件或者应用的状态,本质上跟一个事件处理器差不多.通过分发action触发reduce来 ...
- 微信小程序——小程序的能力
小程序启动 通过app.json里pages字段可以获得页面路径,而写在 pages 字段的第一个页面就是这个小程序的首页(打开小程序看到的第一个页面),就像下面的代码中,小程序启动后的第一个页面就是 ...
- Netty入门3之----Decoder和Encoder
Netty强大的地方,是他能方便的实现自定义协议的网络传输.在上一篇文章中,通过使用Netty封装好的工具类,实现了简单的http服务器.在接下来的文章中,我们看看怎么使用他来搭建自定义协议的服务 ...
- css positioning计算和jquery对应函数
- 四、CentOS 安装mariadb——Linux学习笔记
A)安装及配置 下载mariadb: yum -y install mariadb-server mariadb 开启mariadb服务: systemctl start mariadb.servic ...