请教下,gt911电容屏y坐标总是差65个坐标点 ?
另外还有中断引脚 每次都需要人为的对地短接后才可以,不知道是为什么 ?????
大神们看看是哪里没有设置对呀 ?????????????????????????????
具体描述如下:
1、gt911 电容屏的 y 坐标,总是相差65个坐标点,比如我设置为 1024*600,
x = 0-1024 +-3 这个可以
y = 0-535 +-3 这个就差了 65个坐标点了
2、设置为 1280*800
x = 0-1280 +-3 这个也可以
y = 65-1289 +-3 这个前面的 0-65 个坐标点 木有了 ???????????
3、初始化设置:
#define GTP_MAX_HEIGHT 600 // 480
#define GTP_MAX_WIDTH 1024 // 800
#define GTP_SET_WIDTH_H_Byte (uint8_t)(GTP_MAX_WIDTH >> 8) // 设置 x 坐标高字节
#define GTP_SET_WIDTH_L_Byte (uint8_t)(GTP_MAX_WIDTH) // 设置 x 坐标低字节
#define GTP_SET_HEIGHT_H_Byte (uint8_t)(GTP_MAX_HEIGHT >> 8) // 设置 y 坐标 高字节
#define GTP_SET_HEIGHT_L_Byte (uint8_t)(GTP_MAX_HEIGHT) // 设置 y 坐标 低字节
//GT911配置信息,共184个寄存器value
const uint8_t CTP_CFG_GT911[] = {
0x41,// 版本号,寄存器地址 0x8047
GTP_SET_WIDTH_L_Byte, // LCD 屏 显示宽度(x) 低8bit,寄存器地址 0x8048
GTP_SET_WIDTH_H_Byte, // LCD 屏 显示宽度(x) 高8bit,寄存器地址 0x8049
GTP_SET_HEIGHT_L_Byte, // LCD 屏 显示高度(y) 低8bit,寄存器地址 0x804A
GTP_SET_HEIGHT_H_Byte, // LCD 屏 显示高度(y) 高8bit,寄存器地址 0x804B
0x05, // 输出触点个数上限: 1~10,目前设置为 5 个,寄存器地址 0x804C
0x3D, /* 寄存器地址 0x804D 0x3d
bit 7:6 Stylus_priority (预定义)
bit 5:4 Stretch_rank
bit 3 X2Y (X,Y 坐标交换)
bit 2 Sito (软件降噪)
bit 1:0 INT 触发方式 定义如下:
00:上升沿触发
01:下降沿触发 默认设置为下降沿触发
02:低电平查询
03:高电平查询
*/
0x00, // 寄存器地址 0x804E 触摸按键不使用
0x03, // 寄存器地址 0x804F 手指按下/松开去抖次数
0x48, // 寄存器地址 0x8050 First_Filter Normal_Filter(原始坐标窗口滤波值,系数为 1)
0x28, //0x8051 大面积触点个数
0x0D,//0x8052 噪声消除值
0x50, //0x8053 屏上触摸点从无到有的阈值 0x5a 0x50
0x32,//0x8054 屏上触摸点从有到无的阈值 0x46 0x32
0x03,//0x8055 进低功耗时间 s
0x05, //0x8056
//坐标上报率
0x00,//0x8057 X坐标输出门上限
0x00,//0x8058 Y坐标输出门上限
0x00,//0x8059 reserved
0x00,//0x805a reserved
// 这个地方 我设置的都是为 0
0x00, // 寄存器地址 0x805B bit7~4 上边框的空白区(以 32 为系数)
// bit3~0 下边框的空白区(以 32 为系数)
0x00, // 寄存器地址 0x805C bit7~4 左边框的空白区(以 32 为系数)
// bit3~0 右边框的空白区(以 32 为系数)
0x00, //0x805d 划线过程中小filter设置
0x18, //0x805e 拉伸区间 1 系数
0x1A, //0x805f 拉伸区间 2 系数
0x1E, //0x8060 拉伸区间 3 系数
0x14,//0x8061 各拉伸区间基数
0x8A,0x2A,0x0C,
0x30,//0x8065 驱动组A的驱动频率倍频系数 0x71
0x38,//0x8066 驱动组B的驱动频率倍频系数 0x73
0x31,//0x8067 驱动组A、B的基频 0xb2
0x0D,//0x8068 0x04
0x00, //0x8069 相邻两次驱动信号输出时间间隔
0x00,0x02,0xB9,0x03,0x2D,
0x00,0x00,0x00,0x00,0x00,0x03,0x64,0x32,0x00,0x00,
0x00,0x1D,0x41,0x94,0xC5,0x02,0x07,0x00,0x00,0x04,
0xA5,0x1F,0x00,0x94,0x25,0x00,0x88,0x2B,0x00,0x7D,
0x33,0x00,0x74,0x3C,0x00,0x74,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x16,0x14,0x12,0x10,0x0E,0x0C,0x0A,
0x08,0x06,0x04,0x02,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x24,0x22,0x21,0x20,0x1F,0x1E,0x1D,0x1C,
0x18,0x16,0x13,0x12,0x10,0x0F,0x0A,0x08,0x06,0x04,
0x02,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00
};
没有使用中断了,直接使用查询法,每隔 10ms 扫描一次
一周热门 更多>