下载贤集网APP入驻自媒体
GPIO就是芯片的引脚(芯片上的引脚有些不是GPIO,只有一部分是),也就是SOC内部的一种外设,作为GPIO的这类引脚,他的功能和特点是可以被编程控制它的工作模式,也可以编程控制他的电压高低等。
我们通过LED灯来学习GPIO,我们都知道我们家庭的电器,开关闭合与通断可以控制用电器,当开关闭合的时候,电流通过用电器,进而用电器工作。这个地方,我们需要考虑的我们的用电器,额定功率的问题,电流与电压的问题。那么问题来了。我们LED灯需要多大电流与电压那?先来了解了解LED灯把。
LED也就是发光二极管,单向导电性,反向高于没事,高电流容易击穿我们的二极管。Led灯电压一般都在2-4v,电流是5MA-20MA。作为我们嵌入式软件 来说对于灯多大电压电流的我们不用考虑。我们只能控制开关的通与断,不能控制我们的输出多大的电压。LED当形成一个回路的时候,我们的灯就会亮。当我们查看电路图的时候,就会发现,一般有两种情况,1 LED正极连接到电源,负极连接到SOC,或者 2 LED正极连接到SOC,负极连接到GND也就是接地。
+5V ------LED-----SOC------GND +5V ------SOC-----LED------GND
点亮lED灯 连接1形式 也就是让其SOC GPIO 引脚输入为低压,就可以导通形成电位差,然后点亮LED 。
点亮LED灯 连接2形式 也就是让其SOC GPIO 引脚输出为高压,就可以导通形成电位差,然后点亮LED灯。
那么我们如何控制我们的SOC那,ARM是采用内存与IO统一编址的,也就是访问引脚和访问我们的io口同样的方式,都可以总线式访问。就像c语言指针访问某个内存是一样的。
总线(Bus),一般指通过分时复用的方式,将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。是电脑中传输数据的公共通道。可以将总线理解为,CPU与外设传输数据的通道。
总线的分类
一般系统中总线按功能分为三类,地址总线 数据总线 和控制总线。(按照微机原理与接口技术教材分的)
ARM 汇编总结博客
https://www.cnblogs.com/goodhacker/p/3206405.html
http://www.cnblogs.com/goodhacker/archive/2013/04/25/3043158.html