嵌入式硬件平台接口开发之控制GPIO接口点亮led
1. 查看电路图,LED2由GPX2_7端口控制。
2. 先制定一个头文件,头文件包含如下内容:
/* GPX2 */
typedefstruct {
unsignedintCON;
unsignedintDAT;
}gpx2;
#define GPX2 (* (volatile gpx2 *)0x11000C40 )
为什么这样定义?
1. GPX2CON的控制器地址为0x11000C40。GPX2DAT的控制器地址为0x11000C44。
2. 定义GPX2是一个起始地址为0x11000C40结构体,这个结构体中的CON地址为0x11000C40,这个结构体中的DAT地址为0x11000C44,这样定义GPX2结构体时,当调用GPX2.CON能够控制GPX2CON,调用GPX2.DAT能够控制GPX2DAT。
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));
}