硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2103|回复: 7
收起左侧

gt911寄存器配置

[复制链接]

76

主题

208

回帖

436

积分

高级会员

积分
436
发表于 2022-11-1 15:08:06 | 显示全部楼层 |阅读模式
本帖最后由 薪火相传 于 2022-11-1 15:09 编辑

液晶屏像素800x480,触摸IC为gt911,i2c通信是正常的,但是配置完寄存器参数,中断后读取的坐标相差太多,有些地方触摸都没有中断,崩溃,哪位大佬帮忙看一下
寄存器配置表是参考论坛里gt811的(https://www.armbbs.cn/forum.php? ... 166&highlight=gt911),只是修改了一些参数,写完配置后读取的数据是一样,说明是修改成功的

寄存器配置
[C] 纯文本查看 复制代码
static uint8_t gt9x_cfg_tab[] = {
        0X00, //0x8047 版本号 
        0x20,0x03, //0x8048/8049 X坐标输出最大值800(0x320) 
        0xe0,0x01, //0x804a/804b Y坐标输出最大值480 (0x1e0)
        0x01, //0x804c 输出触点个数上限 
        0x01, //0x804d XY不交换坐标 下降沿触发 
        0x00, //0x804e reserved 
    
        0x02, //0x804f 手指按下去抖动次数 
        0x08, //0x8050 原始坐标窗口滤波值 
        0x28, //0x8051 大面积触点个数 
        0x0A, //0x8052 噪声消除值 
        0x5A, //0x8053 屏上触摸点从无到有的阈值 
        0x46, //0x8054 屏上触摸点从有到无的阈值 
        0x03, //0x8055 进低功耗时间 s 
        0x05, //0x8056 坐标上报率 
    
        0x00, //0x8057 X坐标输出门上限 
        0x00, //0x8058 Y坐标输出门上限 
        0x00,0X00, //0x8059-0x805a reserved 
        0x00, //0x805b reserved 
        0x00, //0x805c reserved 
        0x00, //0x805d 划线过程中小filter设置 
        0x18, //0x805e 拉伸区间 1 系数
    
        0x1A, //0x805f 拉伸区间 2 系数 
        0x1E, //0x8060 拉伸区间 3 系数 
        0x14, //0x8061 各拉伸区间基数 
        0x8C, //0x8062 、、 
        0x28, //0x8063 、、 
        0x0C, //0x8064 、、 
        0x71, //0x8065 驱动组A的驱动频率倍频系数 
        0x73, //0x8066 驱动组B的驱动频率倍频系数
    
        0xB2, //0x8067 驱动组A、B的基频 
        0x04, //0x8068 
        0x00, //0x8069 相邻两次驱动信号输出时间间隔 
        0x00, //0x806a 
        0x00, //0x806b 、、 
        0x02, //0x806c 、、 
        0x03, //0x806d 原始值放大系数 
        0x1D, //0x806e 、、 
    
        0x00, //0x806f reserved 
        0x01, //0x8070 、、 
        0x00,0x00, //reserved 
        0x00, //0x8073 、、 
        0x00,0x00,0x00,
    
    0x00,0x00,0x00, //0x8071 - 0x8079 reserved 
        0x50, //0x807a 跳频范围的起点频率 
        0xA0, //0x807b 跳频范围的终点频率 
        0x94, //0x807c 多次噪声检测后确定噪声量,1-63有效 
        0xD5, //0x807d 噪声检测超时时间 
        0x02, //0x807e 、、 
    
        0x07, //0x807f 判别有干扰的门限 
        0x00,0x00, //0x8081 reserved 
        0x04, //0x8082 跳频检测区间频段1中心点基频(适用于驱动A、B) 
        0xA4, //0x8083 
        0x55, //0x8084 跳频检测区间频段1中心点倍频系数 
        0x00, //0x8085 跳频检测区间频段2中心点基频(驱动A、B在此基础上换算) 
        0x91, //0x8086 
    
        0x62, //0x8087 跳频检测区间频段2中心点倍频系数 
        0x00, //0x8088 跳频检测区间频段3中心点基频(适用于驱动A、B) 
        0x80, //0x8089 
        0x71, //0x808a 跳频检测区间频段3中心点倍频系数 
        0x00, //0x808b 跳频检测区间频段4中心点基频(适用于驱动A、B) 
        0x71, //0x808c 
        0x82, //0x808d 跳频检测区间频段4中心点倍频系数 
        0x00, //0x808e 跳频检测区间频段5中心点基频(适用于驱动A、B) 
    
        0x65, //0x808f 
        0x95, //0x8090 跳频检测区间频段5中心点倍频系数 
        0x00, 0x65, //reserved 
        0x00, //0x8093 key1位置 0:无按键 
        0x00, //0x8094 key2位置 0:无按键 
        0x00, //0x8095 key3位置 0:无按键 
        0x00, //0x8096 key4位置 0:无按键 
    
        0x00, //0x8097 reserved 
        0x00, //0x8098 reserved 
        0x00, //0x8099 reserved 
        0x00, //0x809a reserved 
        0x00, //0x809b reserved 
        0x00, //0x809c reserved 
        0x00,0x00,
    
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    
    0x00,0x00,0x00,0x00, 
        0x00,0x00,0x00,0x00,
    
    0x00,0x00,0x00,0x00, //0x809d-0x80b2 reserved 
        0x00, //0x80b3 合框距离 
        0x00, //0x80b4 
        0x00,0x00, //0x80b6 reserved 
    
        0x06, //0x80b7 
        0x08, //0x80b8 
        0x0A, //0x80b9 
        0x0C, //0x80ba 
        0x0E, //0x80bb 
        0x10, //0x80bc 
        0x12, //0x80bd 
        0x14, //0x80be 
    
        0x16, //0x80bf 
        0x18, //0x80c0 
        0x1A, //0x80c1 
        0x1C, //0x80c2 
        0xFF, //0x80c3 
        0xFF, //0x80c4 
        0x00,0x00,
    
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    
    0x00,0x00, 
        0x00,0x00,0x00 ,
    0x00, //0x80c5-0x80d4 reserved 
        0x00, //0x80d5 
        0x02, //0x80d6 
    
        0x04, //0x80d7 
        0x06, //0x80d8 
        0x08, //0x80d9 
        0x0A, //0x80da 
        0x0C, //0x80db 
        0x0F, //0x80dc 
        0x10, //0x80dd 
        0x12, //0x80de 
    
        0x13, //0x80df 
        0x14, //0x80e0 
        0x16, //0x80e1 
        0x18, //0x80e2 
        0x1C, //0x80e3 
        0x1D, //0x80e4 
        0x1E, //0x80e5 
        0x1F, //0x80e6 
    
        0x20, //0x80e7 
        0x21, //0x80e8 
        0xFF, //0x80e9 
        0xFF, //0x80ea 
        0xFF, //0x80eb 
        0xFF, //0x80ec 
        0xFF, //0x80ed 
        0xFF, //0x80ee 
        0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00, 
        0x00,0x00,0x00,0x00, //0x80ef-0x80fe reserved 
    
//        0x0B, //0x80ff 配置信息校验 
//        0x01 //0x8100 配置以更新标记 
};


更新参数
[C] 纯文本查看 复制代码
static bool gt9x_update_cfg(void)
{
    uint8_t buf[2];
    uint8_t i = 0;

    bool ret;

    ret = gt9x_write_regs(GT9x_CFGS, gt9x_cfg_tab, sizeof(gt9x_cfg_tab));
    if (ret == false) /* send config */
    {
        gt9x_debug("send config failed\n");
        return false;
    }
    buf[0] = 0;
    for (i = 0; i < sizeof(gt9x_cfg_tab); i++)
        buf[0] += gt9x_cfg_tab[i];
    buf[0] = (~buf[0]) + 1;
    buf[1] = 1;
    ret = gt9x_write_regs(GT9x_CHECK, buf, 2);
    if (ret == false) /* send config */
    {
        gt9x_debug("send config failed\n");
        return false;
    }
    for (uint32_t i = 0; i < CyclesPerUs*1000*10; i++)
        __NOP();

    return true;
}






回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107759
QQ
发表于 2022-11-1 16:38:33 | 显示全部楼层
测试下是不是垂直翻转,水平翻转之类的问题。
回复

使用道具 举报

76

主题

208

回帖

436

积分

高级会员

积分
436
 楼主| 发表于 2022-11-2 09:09:02 | 显示全部楼层
eric2013 发表于 2022-11-1 16:38
测试下是不是垂直翻转,水平翻转之类的问题。

直接跟原厂要了个配置表,现在可以了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107759
QQ
发表于 2022-11-2 09:55:33 | 显示全部楼层
薪火相传 发表于 2022-11-2 09:09
直接跟原厂要了个配置表,现在可以了



可以的话,也分享下,方便其他群友看
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2022-11-6 19:56:42 | 显示全部楼层
分享也没用,不同的屏配置表不一样,除了分辨率其它最好别动,出厂前触屏厂会调试好参数的。我就吃过这亏。分辨率都可以不动读出来乘倍率也可以。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107759
QQ
发表于 2022-11-7 09:28:45 | 显示全部楼层
lg676041036 发表于 2022-11-6 19:56
分享也没用,不同的屏配置表不一样,除了分辨率其它最好别动,出厂前触屏厂会调试好参数的。我就吃过这亏。 ...

很有意义,我们早期的GT811就是我们魔改的,单独购置的GT811芯片。

现在到了GT911后,发现使用一体屏更划算,比单独买芯片划算,所以现在就没有用这种方式了。
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
发表于 2023-11-2 15:15:51 | 显示全部楼层
你好,可以把这个配置文件分享我一下嘛,我也遇到了这个问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107759
QQ
发表于 2023-11-2 18:21:47 | 显示全部楼层
lyj41801 发表于 2023-11-2 15:15
你好,可以把这个配置文件分享我一下嘛,我也遇到了这个问题。

https://github.com/goodix/gt9xx_driver_android
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-13 04:35 , Processed in 0.279261 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表