博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ARM】gpio·arm体系结构之gpio
阅读量:6595 次
发布时间:2019-06-24

本文共 965 字,大约阅读时间需要 3 分钟。

GPIO

   Gerneral-Purpose IO ports,即通用IO口。

  在嵌入式系统中常常有数量众多,但是却比较简单的外部设备/电路。

  对这些设备/电路,有的需要CPU为之提供控制手段,有的则需要被CPU用做输入信号。

  许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如控制某个LED灯亮与灭;或者通过获取某个管脚的电平属性来达到判断外围设备的状态。

   对这些设备/电路的控制,使用传统的串行口或并行口都不合适,所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。

   接口至少有两个寄存器,即“通用IO控制寄存器”与“通用IO数据寄存器”。

   数据寄存器的各位都直接引致芯片外部,而对这种寄存器中每一位的作用,即每一位的信号流通方向,则可以通过控制寄存器中对应位独立地加以设置,比如可以设置某个管脚的属性为输入、输出或其它特殊功能。


注意

  在实际的MCU中,GPIO是有多种形式的。比如,有的数据寄存器可以按照位寻址,有些却不能按照位寻址,这在编程时就要加以区分。

  为了使用方便,很多MCU的GPIO接口除去两个标准寄存器必须具备外,还提供上拉寄存器,可以设置IO的输出模式是高阻,还是带上拉的电平输出,或者不带上拉的电平输出。这使得在电路设计中,外围电路就可以简化不少。


为什么要使用上拉电阻

   一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。

   数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定!

   一般说的是I/O端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,I/O端口的输出类似于一个三极管的C,当C接通过一个电阻和电源连接在一起的时候,该电阻成为上拉电阻,也就是说,该端口正常时为高电平;C通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻。

   上拉电阻是用来解决总线驱动能力不足时提供电流的问题的。一般说法是上拉增大电流,下拉电阻是用来吸收电流。

 

 

本文转自infohacker 51CTO博客,原文链接:http://blog.51cto.com/liucw/1190583

转载地址:http://bbjio.baihongyu.com/

你可能感兴趣的文章
使用rollup打包库的一种基本配置
查看>>
Spring Boot 学习笔记(4):配置properties(2)
查看>>
解决IQKeyboard键盘引起的视图上移
查看>>
VUE的生命周期
查看>>
'@/'路径和'./'路径是什么意思
查看>>
SpringBoot | 第零章:前言
查看>>
ES 学习笔记-安装
查看>>
微信支付-H5支付绕过ip地址
查看>>
SpringCloud微服务实战
查看>>
Vue、Typescript 的项目实践
查看>>
Jenkins搭建
查看>>
JavaScript在浏览器环境下的事件循环(Event Loop)
查看>>
JS 事件
查看>>
如何优雅的设计RESTful API?这是我看过讲的最清晰的文章!
查看>>
前端技术 | react-router,去中心化式路由
查看>>
iOS加密解密算法
查看>>
如何对接PaaS平台外部的Maven仓库以及如何使用平台自带Maven仓库
查看>>
JavaScript 算法
查看>>
Redis +Codis 百万并发同城多机房使用与经验
查看>>
年终回顾,为你汇总一份「后端架构技术清单」
查看>>