当前位置: 首页 > news >正文

嵌入式分享#27:原来GT911有两个I2C地址(全志T527)

最近在调试全志T527的触摸功能时,发现GT911触摸芯片的I2C地址有时是0x5d,有时又识别成0x14,不知道大家有没有遇到过类似这个情况。

图片

图片

虽然最后使用0x5d地址调通了触摸功能,但是一直还是很困惑,为什么会出现0x14和0x5d两个i2c地址呢?

于是开始在GT911芯片规格书寻找答案...

查阅规格书发现,原来GT911会根据RTS和INT的开机时序来决定I2C地址是0x14还是0x5d。

在通信中GT911始终作为从设备,其I2C设备地址由7位设备地址加1位读写控制位组成,高7位为地址,bit0为读写控制位。GT911有两个从设备地址可供选择, 如下表:

图片

每次上电或复位时需要使用 INT 脚进行I2C地址设置,如下是设定不同I2C地址的时序图。

设定地址为 0x28/0x29 的时序:

图片

设定地址为 0xBA/0xBB 的时序:

图片

在实际应用中,Linux内核提供的gt9xx.c触摸驱动默认时序设定的I2C地址为0x5d,调试中偶尔出现0x14地址,多数情况是由于dts的RTS或INT引脚配置不正确导致。

至于GT911为什么要有两个I2C地址,下回分解。

欢迎关注“嵌入式分享”,持续更新!

http://www.lryc.cn/news/600843.html

相关文章:

  • 深度学习损失函数的设计哲学:从交叉熵到Huber损失的深入探索
  • Spring AI Alibaba Video 示例
  • 阿里开源Qwen3-Coder,编程大模型进入高效时代
  • Go语言unsafe包深度解析
  • 机器学习入门:线性回归详解与实战
  • 高效无损压缩方案:轻松批量处理图片,节省存储空间
  • Python编程:初入Python魔法世界
  • 基于cooragent的旅游多智能体的MCP组件安装与其开发
  • 用Java实现rpc的逻辑和流程图和核心技术与难点分析
  • Android中ViewStub和View有什么区别?
  • 洛谷 P1226 【模板】快速幂-普及-
  • 聚焦牛牛道:绿色积分模式如何实现快速发展?
  • Android 蓝牙学习
  • 如何检查服务器数据盘是否挂载成功?
  • Flowable 实战落地核心:选型决策与坑点破解
  • ACO-OFDM 的**频带利用率**(单位:bit/s/Hz)计算公式
  • 【深度学习新浪潮】什么是GUI Agent?
  • java网络请求工具类HttpUtils
  • QUIC协议如何在UDP基础上解决网络切换问题
  • [C/C++内存安全]_[中级]_[再次探讨避免悬垂指针的方法和检测空指针的方法]
  • 蘑菇云路由器使用教程
  • 无需云服务器的内网穿透方案 -- cloudflare tunnel
  • 计数dp(基础)
  • Redis 缓存机制详解:原理、问题与最佳实践
  • Java程序员学从0学AI(六)
  • MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
  • 【LeetCode刷题指南】--队列实现栈,栈实现队列
  • MySQL 8.0 OCP 1Z0-908 题目解析(37)
  • mysql group by 多个行转换为一个字段
  • 数据结构(4)单链表算法题(上)