📄 key.c
字号:
#include <stdlib.h>
#include <string.h>
#include "Option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"
#include "key.h"
void Main(void)
{
int key_vual;
Port_Init();
Uart_Init(0,115200);
Uart_Select(0); //Select UART0//
while(1)
{
key_vual=Get_Key();
if(key_vual!=0xff)
{
Uart_Printf("\nKey vual= :%x",key_vual);
}
Delay(200);
};
}
U8 Key_Old=0xff;
U8 Get_Key(void)
{
U8 Key_Vual;
while(1){
Key_Vual=Key_Scan();
if(Key_Vual!=0xffff)
break;
Delay(100);
Key_Old=0xff;
}
Delay(50);
if(Key_Vual==Key_Scan())
{
if(Key_Vual!=Key_Old)//禁止相同按键。
{
Key_Old=Key_Vual;
return Key_Vual;
}
}
return 0xff;
}
U8 Key_Scan(void)
{
U8 data,i,Key_Buf;
U8 Scan[8][8]={0x3,0x2,0xff,0x1,0xff,0xff,0xff,0x0,
0x7,0x6,0xff,0x5,0xff,0xff,0xff,0x4,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xb,0xa,0xff,0x9,0xff,0xff,0xff,0x8,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xf,0x0e,0xff,0xd,0xff,0xff,0xff,0xc};
data=0x1;
for(i=0;i<4;i++)
{
aVKEY=data<<16;
Key_Buf=(aHKEY&0xf0000)>>16;
if(Key_Buf!=0)
return Scan[data-1][Key_Buf-1];
data=data<<1;
}
return 0xff;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -