📄 touchpad.h
字号:
/***************************************************************************************
****************************************************************************************
* FILE : TouchPad.h
* Description :
*
* Copyright (c) 2003~2008 by 创易电子(Design Easy). All Rights Reserved.
*
* History:
* Version Name Date Description
1.0 Wang Shaowei 2008/12/17 Initial Version (For DesignEasy LCM MCU board)
1.1 Liu Ying 2008/12/22 Comments
****************************************************************************************
****************************************************************************************/
#ifndef _TOUCHPAD_H_
#define _TOUCHPAD_H_
/*
定义这个宏,驱动程序可以直接在创易电子的LCM单片机平台上运行,
当移植到用户自己的系统时,需要将其注释掉,
而且修改该宏包含的所以语句
*/
#ifndef _DESIGN_EASY_LCM_MCU_PLATFORM_
#define _DESIGN_EASY_LCM_MCU_PLATFORM_
#endif
/*
定义这个宏,用于创易demo系统中测试LCM TP部分的功能
用户需要参考这部分编写自己系统的tp程序
*/
#define _DESIGN_EASY_TP_TEST_
/*
定义TP driver IC 类型,便于日后替换*/
#define _DESIGN_EASY_TP_TYPE_ET2046_
#ifdef _DESIGN_EASY_LCM_MCU_PLATFORM_
#include "common.h"
#else
typedef bit bool;
typedef unsigned char U8;
typedef unsigned int U16;
//add your own code here
#endif
/*
考虑到非校准情况下的触摸屏,通常都是写字、画画等连续的,
在我们的系统中,对于触摸功能是这样处理的:
首次触摸是由中断检测得到,之后响应中断进行处理;
处理完后开启一个5ms定时器,
定时器到时处理时主动读取触摸坐标,
若是有效坐标则处理,处理完后同样开启一个5ms定时器
若是无效坐标则表示没有触摸,此时再清除中断标记、
重新打开中断响应,等待下一次触摸中断
注意不要太早打开中断,一则因为系统中断不宜太频繁,二者避免误触发
bTP_INT用于标记该次处理是否由中断触发,
true: 是中断触发,
false: 是定时器主动读取
*/
extern bool bTP_INT;
/*
bTP_Cali用于标记是否处于校准界面,
true: 处于校准界面
false: 非校准界面
*/
extern bool bTP_Cali;
/*
最近一次得到的触摸坐标,
包括中断响应中或者定时器中得到的两种情况,
都记录在这里
*/
extern U16 TP_X;
extern U16 TP_Y;
void tp_init(void);
void tp_read_adc(U16 * X, U16 * Y);
#ifdef _DESIGN_EASY_TP_TEST_
void tp_task(void);
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -