|
按键1-4是GPF1,GPF4,GPF2,GPF0吗?我写了个按键控制灯亮的程序,但是跑不出来。我用的是TQ2440的板子,谢谢!
程序如下:
#define GPBCON (*(volatile unsigned long *)0x56000010)
#define GPBDAT (*(volatile unsigned long *)0x56000014)
#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
#define GPB5_out (1<<(5*2))
#define GPB6_out (1<<(6*2))
#define GPB7_out (1<<(7*2))
#define GPB8_out (1<<(8*2))
/*k1~k4 GPF1,GPF4,GPF2,GPF0*/
#define GPF1_in ~(3<<(1*2))
#define GPF4_in ~(3<<(4*2))
#define GPF2_in ~(3<<(2*2))
#define GPF0_in ~(3<<(0*2))
int main(void) {
unsigned long dwDat;
GPBCON = GPB5_out | GPB6_out | GPB7_out | GPB8_out;
GPFCON = GPF1_in | GPF4_in | GPF2_in | GPF0_in;
while(1) {
dwDat = GPFDAT;
if (~(dwDat & (1<<1))) {
GPBDAT |= (1<<5);
} else {
GPBDAT &= ~(1<<5);
}
if (~(dwDat & (1<<4))) {
GPBDAT |= (1<<6);
} else {
GPBDAT &= ~(1<<6);
}
if (~(dwDat & (1<<2))) {
GPBDAT |= (1<<7);
} else {
GPBDAT &= ~(1<<7);
}
if (~(dwDat & (1<<0))) {
GPBDAT |= (1<<8);
} else {
GPBDAT &= ~(1<<8);
}
}
return 0;
} |
|