通用输入输出端口 - 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被分 ...
随机推荐
- 简单的数据库连接池实例(java语言)
1.概述 频繁的创建和销毁数据库连接消耗非常多的系统资源,创建一个池子, 管理一定数量的连接,用的时候去池中取,用完了放回池中,这时比较通用的做法. 2.关键字 LinkedList synchro ...
- 理解Canvas原理
Canvas原理 Canvas我们把它翻译成画布,从字面意思我们就可以知道,不就是可以在上面画东西的布吗.好像很简单,没什么好说的.先看图: 从这几幅图我们可以看到以下几点: 1.每个小方格我们可以看 ...
- js获取当前日期和时间的代码
最佳答案 var myDate = new Date(); myDate.toLocaleDateString(): //获取当前日期myDate.toLocaleTimeString(); //获取 ...
- Java Struts2 (三)
一.国际化概念(了解) 1.什么是国际化 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 2.什么需要国际 ...
- C语言实现整数数组的逆置算法
读入100个整数到一个数组中,写出实现该数组进行逆置的算法. 方法一: 假设100个整数读入到数组a中,算法f1的思想是分别从数组两端依次将对应数进行交换,即a[i]与a[100 - i - 1]进行 ...
- Windows系统中Oracle11g R2 版本数据库卸载
1. 停止"服务"中所有的ORCLE服务. 进入服务的方法很多,如: (1)在运行中输入services.msc,然后找到所有跟oracle 有关的服务. (2)开始->设置 ...
- 任务十三:零基础JavaScript编码(一)
任务目的 JavaScript初体验 初步明白JavaScript的简单基本语法,如变量.函数 初步了解JavaScript的事件是什么 初步了解JavaScript中的DOM是什么 任务描述 参考以 ...
- 使用webBrowser下载文件
如果直接用webBrowser.Navigate("http://***.com/");会弹出文件下载的对话框. 而如果用webclient.UploadData()下载,对方网站 ...
- MUI实现上拉加载和下拉刷新
编写存储过程分页(此处使用T-SQL) CREATE PROC [dbo].[Common_PageList] ( @tab nvarchar(max),---表名 @strFld nvarchar( ...
- Web API 2 入门——Web API 2(C#)入门(谷歌翻译)
ASP.NET Web API 2(C#)入门 在这篇文章中 本教程中使用的软件版本 创建一个Web API项目 添加模型 添加控制器 使用Javascript和jQuery调用Web API 运行应 ...