各位大侠,arm U8 Key_Scan函数
rGPGDAT = rGPGDAT & (~((1<<6)|(1<<2))) | (1<<6) | (0<<2) ; //GPG6,2 output 0
rGPEDAT = rGPEDAT & (~((1<<13)|(1<<11))) | (1<<13) | (1<<11) ; //GPE13,11 output 0
if( (rGPFDAT&(1<< 0)) == 0 ) return 16 ;
else if( (rGPFDAT&(1<< 2)) == 0 ) return 15 ;
else if( (rGPGDAT&(1<< 3)) == 0 ) return 14 ;
else if( (rGPGDAT&(1<<11)) == 0 ) return 13 ;
rGPGDAT = rGPGDAT & (~((1<<6)|(1<<2))) | (0<<6) | (1<<2) ; //GPG6,2 output 0
rGPEDAT = rGPEDAT & (~((1<<13)|(1<<11))) | (1<<13) | (1<<11) ; //GPE13,11 output 0
if( (rGPFDAT&(1<< 0)) == 0 ) return 11 ;
else if( (rGPFDAT&(1<< 2)) == 0 ) return 8 ;
else if( (rGPGDAT&(1<< 3)) == 0 ) return 5 ;
else if( (rGPGDAT&(1<<11)) == 0 ) return 2 ;
rGPGDAT = rGPGDAT & (~((1<<6)|(1<<2))) | (1<<6) | (1<<2) ; //GPG6,2 output 0
rGPEDAT = rGPEDAT & (~((1<<13)|(1<<11))) | (1<<13) | (0<<11) ; //GPE13,11 output 0
if( (rGPFDAT&(1<< 0)) == 0 ) return 10 ;
else if( (rGPFDAT&(1<< 2)) == 0 ) return 7 ;
else if( (rGPGDAT&(1<< 3)) == 0 ) return 4 ;
else if( (rGPGDAT&(1<<11)) == 0 ) return 1 ;
rGPGDAT = rGPGDAT & (~((1<<6)|(1<<2))) | (1<<6) | (1<<2) ; //GPG6,2 output 0
rGPEDAT = rGPEDAT & (~((1<<13)|(1<<11))) | (0<<13) | (1<<11) ; //GPE13,11 output 0
if( (rGPFDAT&(1<< 0)) == 0 ) return 12 ;
else if( (rGPFDAT&(1<< 2)) == 0 ) return 9 ;
else if( (rGPGDAT&(1<< 3)) == 0 ) return 6 ;
else if( (rGPGDAT&(1<<11)) == 0 ) return 3 ;
else return 0xff ;
读了很久没看懂,希望哪位大侠指点一下
王文果 于 2011-04-14 21:30:40发表:
应该是
王文果 于 2011-04-14 21:26:44发表:
{:2_97:}
王文果 于 2011-04-14 21:26:25发表:
是不是和arm按键机制有关