zoukankan      html  css  js  c++  java
  • 通用输入输出端口

    一、概述

    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 引脚处于第三态(既不是输出高电平, 也 不是输出低电平, 而是里高阻态, 即相当于没接芯片)时, 它的电平状态由上拉电阻、 下 拉电阻确定。
     
     
  • 相关阅读:
    C++优化和计算速度(碎碎念)
    架设一个p2p存储网络的问题(讨论)
    JAVA做敏感词统计——DFA 算法
    卸载Postman,用IntelliJ IDEA发起http请求
    LPC1788SDRAM调试
    ASP.NET网站大附件上传配置
    K2 Blackpearl中从数据库直接删除流程实例之K2Server表
    K2流程实例出错,切换到其他版本运行
    使用K2时提示未能加载文件或程序集Microsoft.IdentityModel等
    K2 Blackpearl中从数据库直接删除流程实例之K2ServerLog表
  • 原文地址:https://www.cnblogs.com/zhangshuaifeng/p/10629210.html
Copyright © 2011-2022 走看看