嵌入式硬件平台接口开发之控制GPIO接口点亮led

 

1. 查看电路图,LED2由GPX2_7端口控制。

嵌入式硬件平台接口开发之控制GPIO接口点亮led

2. 先制定一个头文件,头文件包含如下内容:

/* GPX2 */

typedefstruct {

              unsignedintCON;

              unsignedintDAT;

}gpx2;

#define GPX2 (* (volatile gpx2 *)0x11000C40 )

 

为什么这样定义?

1. GPX2CON的控制器地址为0x11000C40GPX2DAT的控制器地址为0x11000C44

2. 定义GPX2是一个起始地址为0x11000C40结构体,这个结构体中的CON地址为0x11000C40,这个结构体中的DAT地址为0x11000C44,这样定义GPX2结构体时,当调用GPX2.CON能够控制GPX2CON,调用GPX2.DAT能够控制GPX2DAT

 嵌入式硬件平台接口开发之控制GPIO接口点亮led

嵌入式硬件平台接口开发之控制GPIO接口点亮led

 

3.编写c文件,示例代码如下:

 

void led_init(void)

{

    GPX2.CON = GPX2.CON & (~(0xf << 7*4)) | (0x1 << 7*4);

}

 

void led_on(void)

{

    GPX2.DAT = GPX2.DAT | (0x1 << 7);}

 

void led_off(void)

{

    GPX2.DAT = GPX2.DAT & (~(0x1 << 7));

}