通用输入输出端口 - 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被分 ...
随机推荐
- php浮点数加减乘除bug
项目测试阶段,少部分微信支付成功,但是在异步通知校对订单金额是否一致时,一直被认定订单金额不一致. 类似于: 浏览器输出: 分析: 因为计算机二进制无法准确表示部分浮点数(如2.03.0.58等等), ...
- ideal key
常用快捷键 设置快捷键:File -> Settings -> IDE Settings -> Keymap -> 选择“eclipse” -> 然后“Copy”一份 - ...
- 自学git心得-2
趁着最近还没忙起来,抓紧更新一下学习心得. 现在的情景是,我们已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备 ...
- According to TLD, tag fmt:formatDate must be empty, but is not 问题的解决
在执行jsp格式化后报错,检查下代码,发现变成如下的样式: <fmt:formatDate value="${cur.sa_date}" pattern="yyyy ...
- Porting QML Applications to Qt 5
When porting QML-related code from Qt 4.8 to Qt 5, application developers should be aware that the Q ...
- Java SpringMVC学习--基础配置
快速开始一个基于SpringMVC框架的web项目 开发工具 Eclipse neon.2 运行环境 tomcat8.5 1.在Eclipse中新建一个web项目:File-New-Dynamic W ...
- Jquery学习---一键上传
一键上传 jar包下载 jquery代码 $(function () { $(".uploadfile").upload({ action: 'CourseXMLFileUploa ...
- js中构造函数和普通函数的区别
this简介: this永远指向当前正在被执行的函数或方法的owner.例如: 1 2 3 4 5 function test(){ console.log(this); } test(); // ...
- Hive入门操作
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能.本文描述了HIve的一些基本操作,如有错误之处还请指出. 常用语法 #显示相关信息 sh ...
- WSGI、flup、fastcgi、web.py、uwsgi
================== 网上别人的理解 =================== http://www.douban.com/note/13508388/ 1.Apache/ ...