📄 key.h
字号:
#include "ps2.h"
#ifndef _KEY_H
#define _KEY_H
#define FPGA_Addr_KEY (*(volatile unsigned short *)0x08000028)
#define INHIBIT_AUTO_KEY_INPUT 1 // 当按住键不放时,是否允许连续产生键值(仅对矩阵键盘有效)
// 只允许有一种键盘有效
//#define __USE_PC_KEY
//#define __USE_PS2_KEY
#define __USE_MATRIX_KEY
#ifdef __USE_PC_KEY
#define GetKey Uart_GetKey
#define GetChar Uart_GetChar
#endif
#ifdef __USE_PS2_KEY
#define GetKey PS2_GetKey
#define GetChar PS2_GetChar
#endif
#ifdef __USE_MATRIX_KEY
#define GetKey Matrix_GetKey
#define GetChar Matrix_GetChar
#endif
//**********************************************//
// 读矩阵键盘键盘扫描码 Matrix_GetScanCode
//**********************************************//
// 函数说明:
// 读取矩阵键盘当前按键的扫描码
// 入口参数:
// 无
// 返回值:
// 按键的16位扫描码
// BIT[7:0] 键盘编码。0~63 为有效键值,128代表没有按键
// BIT[ 8] 特殊键1。1表示该键按下,0表示该键没有按下
// BIT[ 9] 特殊键2。1表示该键按下,0表示该键没有按下
// BIT[10] 特殊键3。1表示该键按下,0表示该键没有按下
// BIT[11] 特殊键4。1表示该键按下,0表示该键没有按下
// BIT[13:12] 保留。固定0
// BIT[14] 按键状态1。1表示该键值尚未读,0表示该键值前次已读过
// BIT[15] 按键状态2。1表示矩阵键盘有键按下,0表示没有键按下(特殊键除外)
//
//----------------------------------------------//
unsigned short Matrix_GetScanCode(void);
//**********************************************//
// 矩阵键盘读按键函数 Matrix_GetKey
//**********************************************//
// 函数说明:
// 读取矩阵键盘当前的按键值
// 入口参数:
// 无
// 返回值:
// 0 没有按键
// 其它 当前按键的编码
//
//----------------------------------------------//
char Matrix_GetKey(void);
//**********************************************//
// 矩阵键盘读字符函数 Matrix_GetChar
//**********************************************//
// 函数说明:
// 等待用户从矩阵键盘输入一个字符
// 入口参数:
// 无
// 返回值:
// 用户输入按键的编码
//
//----------------------------------------------//
char Matrix_GetChar(void);
void KeyPad_test(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -