keyboard.c

来自「定时器中断和驱动程序 定时器中断和驱动程序」· C语言 代码 · 共 38 行

C
38
字号
#include "44b.h"
#include "def.h"
#include "Zlg7289.h"
/*unsigned char KeyBoard_Map[]={4,8,11,0,0,0,0,0,5,9,
								12,15,1,0,0,0,6,10,13,16,
								2,3,0,0,7,0,14,0,0,0,
								0,0,0,0,0,0,0,0,0,0,
								0,0,0,0,0,0,0,0,0,0,
								0,0,0,0,0,0,0,0,0,0,
								0,0,0,0
								}; //64,键值映射表*/
unsigned char KeyBoard_Map[]={7,4,1,0,0,0,0,8,8,5,
								2,0,1,0,0,9,9,6,3,16,
								2,3,0,0,7,3,14,0,0,0,
								0,0,0,0,0,0,0,0,0,0,
								0,0,0,0,0,0,0,0,0,0,
								0,0,0,0,0,0,0,0,0,0,
								0,0,0,0
								}; //64,键值映射表
U32 GetKey()
{
	U16 key;
	while(1)
	{
		while((rPDATG&ZLG7289_KEY));//有键按下
		key=Zlg7289_ReadKey();//得到按键扫描码
		Uart_Printf("\n%d",key);
		if(key<=64)
		{//按键值有效
			key=KeyBoard_Map[key];//通过键盘映射表得到按键值
			break;
		}
		Delay(1000);
	}
	return key;
}

⌨️ 快捷键说明

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