引脚端口嵌入式学习笔记之GPIO

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正

    嵌入式学习条记之GPIO

         GPIO,意为通用输入/输出端口,根据它们可以读取端口的高低电平或者读入引脚状态。S3C2410芯片共有117个I/O端口,共分为8组:A~H。分别为:GPA、GPB…GPH。端口的输入输出功能可以通过设定特定的端口值来肯定。

             控制s3c2410的GPIO端口的寄存器有3类,分别是GPxCON、GPxDAT、GPxUP (x=A~H)

             GPxCON:GPIO控制寄存器,可以设置选定GPIO口的输入输出方式和功能。GPA组的23个端口比拟特别,只能是输出方式。GPACON的每一位对应一个引脚,当某位为0时,对应引脚为输出端口,否则为复用功能。

         GPBGPH端口的GPxCON寄存器使用方法分歧,每两位控制一个引脚,00时为输入I/O口,01时为输出I/O口,10时为复用功能,11保留。

             GPxDAT:此引脚用于读写引脚的状态,即端口数据。当引脚配置为输出时,给该寄存器某位写1,则对应引脚输出高电平,写0输出低电平。当引脚配置为输出时,读该寄存器可以失掉端口电平状态。

            GPxUP:该寄存器可以设置引脚是否使用上拉电阻,某位为0时对应引脚使用上拉电阻,某位为1时不使用上拉电阻。注意:GPA组没有GPxUP寄存器,即没有上拉电阻。

    每日一道理
如果只看到太阳的黑点,那你的生活将缺少温暖;如果你只看到月亮的阴影,那么你的生命历程将难以找到光明;如果你总是发现朋友的缺点,你么你的人生旅程将难以找到知音;同样,如果你总希望自己完美无缺,假设你的这一愿望真的能如愿以偿,那么你最大的缺点就是没有缺点。

        1、作甚上拉电阻、下拉电阻:

       引脚和端口上拉电阻                                               引脚和端口下拉电阻

                                                   

        上拉电阻是针对NPN来说的,下拉电阻是针对PNP来说的!不管是上拉电阻还是下拉电阻都是为了使集电极有肯定的电位!

        比如对NPN来说,当不用上拉电阻的时候,若基集为正,则导通,集电极为0。但当基集为0,则截止,此时集电极是悬空的,电位没法肯定!一旦加了上拉电阻,当导通的时候,集电极为0,当截止的时候,集电极为正。

       PNP也一样,导通的时候集电极为正,截止的时候集电极为0。

       2、GPIO端口配置方法:

       单个引脚的操纵无非就三种情况:输出高低电平,检测引脚状态,中断。对引脚的操纵一般是通过特定寄存器的配置完成。

    引脚和端口

    如图,根据LED 的硬件电路图,实现点亮LED:

#define	GPFCON	(*(volatile unsigned long *)0x56000050)

#define	GPFDAT	(*(volatile unsigned long *)0x56000054)



#define	GPF4_out	(1<<(4*2))

#define	GPF5_out	(1<<(5*2))

#define	GPF6_out	(1<<(6*2))

#define	GPF7_out	(1<<(7*2))



void  wait(volatile unsigned long dly)

{

	for(; dly > 0; dly--);

}



int main(void)

{

	unsigned long i = 0;



	GPFCON = GPF4_out|GPF5_out|GPF6_out|GPF7_out;	// 将LED1-4对应的GPF4/5/6/7三个引脚设为输出



	while(1){

		wait(30000);

		GPFDAT = (~(i<<4));	 	// 根据i的值,点亮LED1~4

		if(++i == 8)

			i = 0;

	}



	return 0;

}

    
 

文章结束给大家分享下程序员的一些笑话语录: 一条狗在街上闲逛,看见橱窗里一张告示:「招聘程序员。会编程,有团队精神,至少精通两种语言。均等机会。」
  那条狗就进去申请,但是被拒绝了。
  「我不能雇一条狗在公司里做事。」经理说。
  狗不服气,指着告示上「均等机会」几字抗议。
  经理没法,叹了口气,不屑地问道:「你会编程吗?」
  那条狗默默地走到电脑前,编了个程序,运作准确。
  「你有团队精神吗?」经理问。
  那条狗掉头看了看门外,一大群野狗在外面虎视耽耽。
  「我真的不能雇狗做这份工作。」经理气急败坏地说。
  「就算会编程、有团队精神,但是我需要的雇员至少要能精通两种语言。」
  那条狗抬头看着经理说:「喵-噢。」

--------------------------------- 原创文章 By
引脚和端口
---------------------------------

你可能感兴趣的:(学习笔记)