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

2019-07-20 12:11发布

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。