?? touch.h
字號:
#ifndef __TOUCH_H__
#define __TOUCH_H__
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//Mini STM32開發板
//ADS7843/7846/UH7843/7846/XPT2046/TSC2046 驅動函數
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//修改日期:2010/6/13
//版本:V1.1
//版權所有,盜版必究。
//Copyright(C) 正點原子 2009-2019
//All rights reserved
//********************************************************************************
//V1.1修改說明
//2010/6/19
//加入了u8 AI_Read_TP(void)函數,用于讀取觸點狀態
//////////////////////////////////////////////////////////////////////////////////
//按鍵狀態
#define Key_Down 0x01
#define Key_Up 0x00
//筆桿結構體
typedef struct
{
u16 X0;//原始坐標
u16 Y0;
u16 X; //最終/暫存坐標
u16 Y;
u8 Key_Sta;//筆的狀態
u8 Key_OK; //筆準備好了,調用函數自行修改
//觸摸屏校準參數
float xfac;
float yfac;
short xoff;
short yoff;
}Pen_Holder;
extern Pen_Holder Pen_Point;
//與觸摸屏芯片連接引腳
#define PEN PCin(1) //PC1 INT
#define DOUT PCin(2) //PC2 MISO
#define TDIN PCout(3) //PC3 MOSI
#define TCLK PCout(0) //PC0 SCLK
#define TCS PCout(13) //PC13 CS
//ADS7843/7846/UH7843/7846/XPT2046/TSC2046 指令集
#define CMD_RDY 0X90 //0B10010000即用差分方式讀X坐標
#define CMD_RDX 0XD0 //0B11010000即用差分方式讀Y坐標
#define TEMP_RD 0XF0 //0B11110000即用差分方式讀Y坐標
//使用保存
#define ADJ_SAVE_ENABLE
void Touch_Init(void); //初始化
u8 Read_ADS(u16 *x,u16 *y); //帶舍棄的雙方向讀取
u8 Read_ADS2(u16 *x,u16 *y); //帶加強濾波的雙方向坐標讀取
u16 ADS_Read_XY(u8 xy); //帶濾波的坐標讀取(單方向)
u16 ADS_Read_AD(u8 CMD); //讀取AD轉換值
void ADS_Write_Byte(u8 num); //向控制芯片寫入一個數據
void Drow_Touch_Point(u8 x,u16 y);//畫一個坐標叫準點
void Draw_Big_Point(u8 x,u16 y); //畫一個大點
void Touch_Adjust(void); //觸摸屏校準
void Save_Adjdata(void); //保存校準參數
u8 Get_Adjdata(void); //讀取校準參數
void Pen_Int_Set(u8 en); //PEN中斷使能/關閉
void Convert_Pos(void); //結果轉換函數
u8 AI_Read_TP(void); //讀取TP狀態
u8 Is_In_Area(u8 x1,u16 y1,u8 x2,u16 y2);//判斷按鍵是否在這個區域內.
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -