|  | 
 
| 按键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;
 }
 | 
 |