您的位置:首页 > 其它

2440 GPIO 控制方法

2008-11-26 14:35 148 查看
作者:wogoyixikexie@gliet

// GPIO Virtual alloc

s2440IOP = (volatile S3C2440A_IOPORT_REG *) VirtualAlloc(0,sizeof(S3C2440A_IOPORT_REG),MEM_RESERVE, PAGE_NOACCESS);

if(s2440IOP == NULL) {

RETAILMSG(1,(TEXT("For s2440IOP: VirtualAlloc failed!/r/n")));

}

else {

if(!VirtualCopy((PVOID)s2440IOP,(PVOID)(S3C2440A_BASE_REG_PA_IOPORT >> 8),sizeof(S3C2440A_IOPORT_REG),PAGE_PHYSICAL | PAGE_READWRITE | PAGE_NOCACHE )) {

RETAILMSG(1,(TEXT("For s2440IOP: VirtualCopy failed!/r/n")));

}

}

//====================================================================

//----------GPG8 Setting------------

v_pIOPregs->GPGCON &= ~(0x3 << 16);

v_pIOPregs->GPGCON |= (0x1 << 16);

v_pIOPregs->GPGDAT &= ~(0x1 << 8);//输出低电平

//v_pIOPregs->GPGDAT |= (0x1 << 8);//输出高电平

v_pIOPregs->GPGUP |= (0x1 << 8);//禁止上拉,在上电没有执行程序的时候上拉高电平输出

//v_pIOPregs->GPGUP &= ~(0x1 << 8);//使能上拉

--------这样GPG8输出低电平,指示灯灭。

//----------GPG8 Setting------------

v_pIOPregs->GPGCON &= ~(0x3 << 16);

v_pIOPregs->GPGCON |= (0x1 << 16);

v_pIOPregs->GPGDAT &= ~(0x1 << 8);//输出低电平

//v_pIOPregs->GPGDAT |= (0x1 << 8);//输出高电平

//v_pIOPregs->GPGUP |= (0x1 << 8);//禁止上拉,在上电没有执行程序的时候上拉高电平输出

v_pIOPregs->GPGUP &= ~(0x1 << 8);//使能上拉

--------这样GPG8输出低电平,指示灯灭。尽管上拉了。

//----------GPG8 Setting------------

v_pIOPregs->GPGCON &= ~(0x3 << 16);

v_pIOPregs->GPGCON |= (0x1 << 16);

v_pIOPregs->GPGDAT &= ~(0x1 << 8);//输出低电平

v_pIOPregs->GPGDAT |= (0x1 << 8);//输出高电平

//v_pIOPregs->GPGUP |= (0x1 << 8);//禁止上拉,在上电没有执行程序的时候上拉高电平输出

v_pIOPregs->GPGUP &= ~(0x1 << 8);//使能上拉

--------这样GPG8输出高电平,指示灯亮

//------------------GPG8 Setting------------------------

v_pIOPregs->GPGCON &= ~(0x3 << 16);

v_pIOPregs->GPGCON |= (0x1 << 16);

v_pIOPregs->GPGDAT &= ~(0x1 << 8);//输出低电平

v_pIOPregs->GPGDAT |= (0x1 << 8);//输出高电平

v_pIOPregs->GPGUP |= (0x1 << 8);//禁止上拉,在上电没有执行程序的时候上拉高电平输出

//v_pIOPregs->GPGUP &= ~(0x1 << 8);//使能上拉

--------这样GPG8输出高电平,指示灯亮——即使没有使能上拉,看来2440IO的驱动能力挺强的。

转载请标明wogoyixikexie@gliet桂林电子科技大学一系科协,如有错误,希望能够留言指出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: