⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kpd.h

📁 基于STR710和嵌入式操作系统的串口驱动程序
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                                      
**                                          
**                               杭州央海软件科技有限公司
**
**                                 http://www.osmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: kpd.h
** 创 建 人: 罗辉联
** 创建日期: 2006年7月23日
** 描    述: 该文件包含BSPI应用部分函数原型、宏、枚举等定义
**
**--------------历史版本--------------------------------------------------------------------------------
** 修 改 人: 罗辉联 	
** 版    本: V1.0
** 日   期: 2006年7月23日
** 描   述: 原始版本
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#ifndef __KPD_H
#define __KPD_H

#ifdef __cplusplus
    extern "C" {
#endif

#include "gpio.h"

/********************************************** 宏定义 *************************************************/



#define  KPD_MAX_ROWS           (4)      	/* 行列式键盘行定义			  								*/
#define  KPD_MAX_COLS           (4)      	/* 行列式键盘列定义			  								*/

#define KPD_PKEY_NULL     		(-1)

#define KPD_PKEY_0           	(0)
#define KPD_PKEY_1           	(1)
#define KPD_PKEY_2           	(2)
#define KPD_PKEY_3           	(3)
#define KPD_PKEY_4           	(4)
#define KPD_PKEY_5           	(5)
#define KPD_PKEY_6           	(6)
#define KPD_PKEY_7           	(7)
#define KPD_PKEY_8           	(8)
#define KPD_PKEY_9           	(9)
#define KPD_PKEY_LEFT         	(10)
#define KPD_PKEY_RIGHT          (11)
#define KPD_PKEY_UP			    (12)
#define KPD_PKEY_DOWN     		(13)
#define KPD_PKEY_OK             (14)
#define KPD_PKEY_ESC            (15)

#define KPD_PKEY_MUL            (16)


#define KPD_COL_OUT				GPIOx_PD(GPIO1)
#define KPD_ROW_IN              GPIOx_PD(GPIO2)


#define KPD_ACTIVATE(i)  (~(1<<(i+4)))
#define KPD_IS_ACTIVE(rows,i)  ((rows & (1<<(i+12))) == 0)
#define KPD_ALL_OFF  0x00F0
#define KPD_ALL_ON   0xFF0F




#define  KEY_BUF_SIZE                10     /* 键盘缓冲区大小											*/ 


#define  KEY_REPEAT_DELAY           2      	/* Number of scan times before auto repeat executes again  	*/
#define  KEY_REPEAT_START_DELAY     10     	/* Number of scan times before auto repeat function engages	*/

#define  KEY_ALL_ROWS               0xFF   	/* Select all rows (i.e. all rows LOW)*/ 
#define  KEY_SCAN_TASK_DELAY		50     	/* Number of milliseconds between keyboard scans           	*/


/******************************************  枚举类型定义 **********************************************/

/****************************************** 结构体类型定义 *********************************************/

/***************************************** 全局变量声明 ************************************************/

/***************************************** 外部函数声明 ************************************************/

extern void kpd_init(void); 					  			/* 初始化kpd接口 	*/

extern WORD8 kpd_scan_keypad(void);					/* BSPI发送数据到HC595,驱动LED显示 */

extern void kpd_scan_task_core(void *pdata);


#ifdef __cplusplus
    }
#endif

#endif // _KPD_H

/**********************************************end of file***********************************************/

⌨️ 快捷键说明

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