S5PV210 led_key编程流程 GPIO类功能模块操作

  GPIO类编程

一.需掌握知识:
     应该掌握GPIO的管脚配置。熟悉相关配置的寄存器。

二.程序效果:

今天编写led_key程序,预期的实验结果是,在S5PV210开发板上实现用按键控制LED闪烁。


三.编程思路:

1.首先我们应该知道如何点亮LED。(通过给指定管脚输出高低电平,控制LED亮灭)

1).通过查看原理图,我们可以确定led控制的GPIO管脚。确定LED在CPU上对应的管脚。(GPJ2)

2).之后去开发板芯片手册,通过查找管脚得到管脚寄存器的描述。

3).通过查看对应管脚寄存器的描述,我们可以知道,控制led亮灭需要控制 ,GPJ2CON,GPJ2DAT。

4).仔细查看每个寄存器的功能描述。思考如何通过寄存器实现led亮灭操作。


2.现在应该知道如何控制key。(通过指定管脚输入按键的状态)

1). 通过查看原理图,我们可以确定key控制的GPIO管脚。确定key在CPU上对应的管脚。GPH2)

2). 之后去开发板芯片手册,通过查找管脚得到管脚寄存器的描述。知道如何读取key的状态。

3). 通过查看对应管脚寄存器的描述,我们可以知道,获取key按键的状态我们需要控制GPH2CON, GPH2DAT.

4).仔细查看每个寄存器的功能描述。思考如何通过寄存器实现读取按键操作。

3.结合对key和led了解。写出按键实现led闪烁。


四.主程序和初始化程序

int xmain()
{
close_buzzer();
init_led();
init_key();

*rGPJ2DAT = 0x0;
while(1)
{
if( (*rGPH2DAT & 0x01) == 0)
{
delay(1);
if( (*rGPH2DAT & 0x01) == 0)
{
while((*rGPH2DAT & 0x01) == 0);
*rGPJ2DAT = ~(*rGPJ2DAT);
}
}
}
return 0;
}

void init_led()
{
*rGPJ2CON = 0x1111;
}


void init_key()
{
*rGPH2CON = 0x0000;
}

你可能感兴趣的:(嵌入式裸机开发)