key_del.c

来自「ADS下基于AT91SAM7X256-EK的可以运行的uCOS-II源码」· C语言 代码 · 共 50 行

C
50
字号
#include "AT91SAM7X256.h"
#include "Board.h"



void delay()
{
 unsigned char i;
 for(i=0;i<200;i++){}
}




/*_______________________________________________________________________________________________
__函数原型:	unsigned char   keyscan()
__参数说明:   无
__返回值:     unsigned char
__说明:		键盘扫描函数;
_______________________________________________________________________________________________*/
unsigned int   keyscan()
{
 unsigned int i=0;                              
 unsigned int j=0;
 unsigned int code_h;
 unsigned int code_l;

 if((*AT91C_PIOA_PDSR&0x0000F800)!=0x0000FF00)
   {
     delay();	
      	if((*AT91C_PIOA_PDSR&0x0000F800)!=0x0000FF00)
          {
           *AT91C_PIOA_PDSR=code_h; 
           while((code_h&0x00000100)==0x00000100)
              {i++;
               code_h=code_h<<1;
               }
           *AT91C_PIOA_PDSR=code_l; 
           while((code_l&0x00000F00)==0x00000F00)
               {j++;
                code_l=code_l<<1;
                }
                return(4*i+j+1);
             }
        }
  return(0);
}

           					

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?