scankey.c

来自「LPC23XX USB hid keyboard」· C语言 代码 · 共 64 行

C
64
字号
#define SCANKEY 1
#include <LPC23XX.h>
#include "type.h"
//#include "usbhw.h"
#include "scankey.h"

void KeyInit(void)
{
	PINSEL1  =  (PINSEL1&0xF0FFFFFF)|0x00000000;	//选择为GPIO口作用
	PINSEL10 = 0;		 //禁止ETM
	IODIR1=( IODIR1&0xF0FFFFFF)|0x00000000;	//设置为输入
	OldKey=(BYTE)((IOPIN1&0x0F000000)>>24)&0x0F;
	KeyPressFlag=0;
	KeyState=KEYDOWN;
}
void ScanKey(void)
{ 
 BYTE i;
KeyCurrent=(BYTE)((IOPIN1)>>24)&0x0F;

if( KeyCurrent != OldKey )
	{	OldKey=KeyCurrent;
		
			KeyPressFlag=1;		//有key按下
		  KeyState=KEYDOWN;
		if(KeyCurrent == 0x0f)		 //当按键松开时,把第5组数据修改为1
	{KeyBoardValue[4]=1;return;}
		
				if( KEY(24) == 0)
					{  //	keypressflag=1;		//衚ey绰
					KeyBoardValue[2]= 0x62;	//0
				
					while(KEY(24) == 0 );
					}
			else if( KEY(25) == 0 )
					{  //	KeyPressFlag=1;		//有key按下
					KeyBoardValue[2]= 0x59;	//1
				   
					while(KEY(25) == 0);
					}
				 else if(KEY(26) == 0)
					{  //	KeyPressFlag=1;		//有key按下
					KeyBoardValue[2]= 0x5A;	//2
				
					while(KEY(26) == 0 );
					}
				  else if(KEY(27) == 0)
					{ // 	KeyPressFlag=1;		//有key按下
					KeyBoardValue[2]= 0x5B;	//3
			
					while(KEY(27) == 0);
					}
	
	}else
	{for(i=0;i<8;i++)
	 		KeyBoardValue[i]=0;
	}	

}




⌨️ 快捷键说明

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