|
控制2440的GPIO,遇到一个特别奇怪的问题:
[复制链接]
EBOOT中,遇到一个特别奇怪的问题:
GPG11是一个控制脚位,控制一个三极管,来控制电源。
volatile S3C2440A_IOPORT_REG *s2440IOP = (S3C2440A_IOPORT_REG *)OALPAtoVA(S3C2440A_BASE_REG_PA_IOPORT, FALSE);
s2440IOP->GPGCON = ((s2440IOP->GPGCON & ~(0x3 << 22)) | (0x1 << 22)); //
s2440IOP->GPGDAT |= (0x1 << 11);
EdbgOutputDebugString("s2440IOP->GPGCON[%x] s2440IOP->GPGDAT: 0x%x\r\n", s2440IOP->GPGCON, s2440IOP->GPGDAT);
如果我不加EdbgOutputDebugString,s2440IOP->GPGDAT |= (0x1 << 11);就无效,读出也是为0,如果加了这一行,就有效,读出
也是为1
|
|