历史上的今天
今天是:2025年07月13日(星期日)
2021年07月13日 | 【ARM】gpio·arm体系结构之gpio
2021-07-13 来源:eefocus
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通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻。
上拉电阻是用来解决总线驱动能力不足时提供电流的问题的。一般说法是上拉增大电流,下拉电阻是用来吸收电流。
史海拾趣
|
近日,美国通用电气塑料公司发布了一种新型的超耐热材料:聚碳酸酩树脂。据悉,该树脂主要用于汽车前照灯的灯框和反光镜上,其耐热性能非常出色,即使在高温环境下也不易变形变色,此外其可再利用性、密度、流动性也非常好,有助于提高这种材料的可 ...… 查看全部问答> |
|
小弟初识,描点函数W_DOT void __fastcall TForm1:: W_DOT(int O_X,int O_Y) { unsigned char i,j,dat; unsigned int k; j=PARA;//PARA=0x30; &nbs ...… 查看全部问答> |
|
刚刚拿到yl2440开发板,连接到pc后,自动安装新硬件时,pc机死机,重起后就再也找不到新硬件了,10兆网络也显示连接有问题,高手帮帮我吧,我是超级菜鸟,刚接触arm一周。… 查看全部问答> |
|
怎样在应用程序中控制(使之输出与不输出)调试串口一,即打开或者关闭“调试”串口一 怎样在应用程序中控制(使之输出与不输出)调试串口一,即打开或者关闭“调试”串口一? 用个实例说可能更明白一点:在bsp的触摸驱动里面我需要将坐标信息通过串口发送出去,而有时候我又需要关闭它,不让这些坐标信息发送,该怎么入手 … 查看全部问答> |
|
void Init_TimerB(void){ TBCTL= TBSSEL_2+ ID_3 +TBCLR; // MCLK TBCCR0 = 40000; &n ...… 查看全部问答> |




