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

📄 touchpad.h

📁 msp430的触摸屏驱动
💻 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
   1.2          zha sheng                       2009/1/12       For msp430
****************************************************************************************
****************************************************************************************/


#ifndef _TOUCHPAD_H_
#define _TOUCHPAD_H_

/*====================msp430设置=============================*/
#define _DESIGN_EASY_LCD_TYPE_MSP430
#ifdef  _DESIGN_EASY_LCD_TYPE_MSP430
#define TP_nCS_set      P2OUT|=0x01
#define TP_nCS_cle      P2OUT&=0xFE
#define TP_DCLK_set     P2OUT|=0x02
#define TP_DCLK_cle     P2OUT&=0xFD
//#define TP_tINT_set     P2OUT|=0x04
//#define TP_tINT_cle     P2OUT&=0xFB
#define TP_DIN_set      P2OUT|=0x08
#define TP_DIN_cle      P2OUT&=0xF7
#define TP_nBUSY        P2IN&0x10
#define TP_DOUT         P2IN&0x20
#define TP_INT_OPEN     P2IES=0xFF;P2IE|=0x04
#define TP_INT_CLOSE    P2IE&=0xFB

#define true 1
#define false 0
typedef unsigned char bool;

#endif
//============================================================//
/*该部分宏,参看触摸屏控制电路芯片文档中命令时序格式的介绍*/

#define TOUCH_PANEL_START_BIT    0x80
#define TOUCH_PANEL_TEMP0        0x00
#define TOUCH_PANEL_X_PLUS       0x10
#define TOUCH_PANEL_VBAT         0x20
#define TOUCH_PANEL_Z1_POS       0x30
#define TOUCH_PANEL_Z2_POS       0x40
#define TOUCH_PANEL_Y_PLUS       0x50
#define TOUCH_PANEL_TEMP1        0x70
#define TOUCH_PANEL_ADC3         0x20
#define TOUCH_PANEL_ADC4         0x60
#define TOUCH_PANEL_12BIT_SAMPLE 0x0
#define TOUCH_PANEL_8BIT_SAMPLE  0x8
#define TOUCH_PANEL_DIFF_MODE    0x0
#define TOUCH_PANEL_SINGLE_MODE  0x4
#define TOUCH_PANEL_PWD_ENBLE    0x0
#define TOUCH_PANEL_IRQ_DISABLE  0x1
#define TOUCH_PANEL_PWD_DISABLE  0x3
#define TOUCH_PANEL_PWD_RESET    0x2
//校准坐标,用于校准时屏幕的标准坐标
#define TP_ADJUEST_POS_X1 44
#define TP_ADJUEST_POS_Y1 55
#define TP_ADJUEST_POS_X2 132
#define TP_ADJUEST_POS_Y2 165
/*定义TP driver IC 类型,便于日后替换*/
#define _DESIGN_EASY_TP_TYPE_ET2046_
#ifdef _DESIGN_EASY_TP_TYPE_ET2046_

/*坐标转化参数的默认值,可以直接使用*/
/*
AX=0B 86 AY=0A FE BX=04 9E BY=04 44 
XK=00 14 XA=01 2E YK=00 0F YA=01 0B
*/
#define TOUCH_PANEL_ARG_X_K		0x14
#define TOUCH_PANEL_ARG_X_A		0x12E
#define TOUCH_PANEL_ARG_Y_K		0x0F
#define TOUCH_PANEL_ARG_Y_A		0x10B

#endif
//add your own code here

/*
bTP_adjust用于标记是否处于校准界面,
true: 处于校准界面
false: 非校准界面
bTP_adjust_count用于标记校准点个数
false:第一个
true: 第二个
*/
bool bTP_INT;
bool bTP_adjust;
bool bTP_adjust_count;
bool bTP_touch;//标记是否处在触摸过程中

/*
最近一次得到的触摸坐标,
包括中断响应中或者定时器中得到的两种情况,
都记录在这里
*/
U16 TP_X;
U16 TP_Y;
/*最近一次转换后的液晶屏坐标*/
U8 TP_to_LED_x;
U8 TP_to_LED_y;
/*一次触摸开始的坐标以及结束的坐标*/
U8 TP_start_x;
U8 TP_start_y;
U8 TP_end_x;
U8 TP_end_y;
/*触摸时,能够画图的范围*/
U8 TP_drawenable_start_x;
U8 TP_drawenable_start_y;
U8 TP_drawenable_end_x;
U8 TP_drawenable_end_y;

void tp_init(void);
void tp_read_adc(U16 * X, U16 * Y);
U8 tp_pos_adjust(void);
void tp_pos_display(void);
void tp_pos_task(void);

#endif

⌨️ 快捷键说明

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