请教下,gt911电容屏y坐标总是差65个坐标点 ?还有中断不灵

2020-01-11 18:15发布

请教下,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
};
















7条回答
hpdell
1楼 · 2020-01-12 11:48.采纳回答
onist1996 发表于 2018-1-10 01:24
某宝得电容屏害人啊,我也是某宝买了一块电容屏,发现触摸得跟配置得不一样,把配置烧到另外一块屏幕是可以 ...

没有使用中断了,直接使用查询法,每隔 10ms 扫描一次
小Z
2楼-- · 2020-01-11 18:47
 精彩回答 2  元偷偷看……
hpdell
3楼-- · 2020-01-11 20:55
小Z 发表于 2017-8-30 11:05
是不是中断管脚是上升沿触发,然后你的中断管脚又没有下拉电阻?导致电平~~ ...

我配置有下拉电阻,

还有 触摸屏的 中断引脚 输出 电压 大概在 2.8v 左右,怎么不是 3.3v ???
他们供电都是 3.3v的
wangsidongcx
4楼-- · 2020-01-11 23:23
坐标差的话询问厂家是不是通道给你配置有问题;触发方式的话是你配置有问题,你的配置表是0x3d  说明是下降沿触发,而你把引脚设置成下拉,导致911的INT初始电平和单片机的电平不匹配。。。。。,单片机引脚设置上拉试试
wangsidongcx
5楼-- · 2020-01-12 04:13
我这边也在调911的程序,电源没有问题,就是容易跳点,程序里也找不到有关触摸灵敏度设置的寄存器,算是服了
hpdell
6楼-- · 2020-01-12 04:53
wangsidongcx 发表于 2017-9-1 13:30
我这边也在调911的程序,电源没有问题,就是容易跳点,程序里也找不到有关触摸灵敏度设置的寄存器,算是服 ...

我是在淘宝上买的,他们没有技术支持,更别说厂家了啊

onist1996
7楼-- · 2020-01-12 05:59
 精彩回答 2  元偷偷看……

一周热门 更多>