Qt 屏幕偶发性失灵

在NXP i.mx7的Qt应用层项目中,遇到触摸事件错乱的问题,表现为应用程序卡死。分析认为可能是由于i2c总线的数据干扰或Qt触摸事件处理不当。解决方案包括优化i2c总线使用,避免滥用QCoreApplication::processEvents(),以及确保页面切换与焦点控制同步。同时,旧版Qt可能存在触摸屏处理Bug,需要更新到5.15系列或修复源码。内存泄漏的排查也在进行中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

基于NXP i.mx7的Qt应用层项目开发,通过goodix使用触摸屏,走i2c协议。


问题描述

触摸屏使用过程中意外卡死,现场分为多种:

  • i2c总线传输错误,直观表现为触摸屏无效,任何与触摸屏挂接在同一总线上的i2c设备,均受到干扰,并且在传输过程中内核报错以下代码:
    Goodix-TS 3-005d: I2C transfer error: -11
    Goodix-TS 3-005d: I2C transfer error: -6
    Goodix-TS 3-005d: I2C transfer error: -110
    Goodix-TS 3-005d: I2C write end_cmd error
  • Qt触摸事件错乱,目前发现只有在嵌入式的板子上会出现这种情况,猜测是i.mx7处理能力有限,当快速点击时,应用跟不上sysEvent上报速度导致,打印后可以看到如下信息:

  • 未解之谜,长时间待机后偶发性出现,并非触摸屏失灵,而是整个应用程序卡死,怀疑程序中存在内存泄漏,但暂时未找到准确位置。

原因分析:

  1. i2c总线会自动仲裁所有挂接的子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雲烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值