博客
关于我
msm8909矩阵按键驱动笔记
阅读量:346 次
发布时间:2019-03-04

本文共 575 字,大约阅读时间需要 1 分钟。

今天终于把手机矩阵按键彻底调通了,经历了近半个月的调试历程。以下是我梳理后的详细调试过程:

一、初始阶段:按键未反映问题描述:矩阵按键完全不响应。解决方法:检查设备树文件,确认按键对应的编码是否正确。经核对发现,某些按键的编码设置错误,修改后问题解决。

二、第二阶段:部分按键异常现象:2、5、8、0列按键按下后,所有按键都会上报事件。排查过程:通过添加日志打印,发现某列引脚(具体为gpio11)在开机时存在异常,引脚默认为高电平。进一步排查:通过搜索关键字“11”在bootloader中发现多处复用,确认存在引脚复用问题。解决方法:注释相关复用代码,确保引脚默认为低电平。

三、第三阶段:偶发异常现象:2、5、8、0列按键偶尔会出现上述异常。排查过程:通过添加日志打印,发现问题发生的时间点与系统启动过程密切相关。进一步排查:通过查看内核日志和配置文件,发现某个特定配置文件中存在冲突。解决方法:修改配置文件,确保按键相关设置无误,最终问题得到稳定。

整个调试过程中,我通过以下方法逐步解决问题:

  • 核对设备树文件,确保按键编码正确
  • 添加日志打印,定位问题所在
  • 检查引脚复用情况,排除外部干扰
  • 优化配置文件,确保系统稳定
  • 使用工具如getevent和hexdump辅助调试
  • 最终,通过系统性的排查和逐步修正,成功将矩阵按键调通,问题得到彻底解决。

    转载地址:http://zlme.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现dijkstra迪杰斯特拉算法(附完整源码)
    查看>>
    Objective-C实现Dijkstra迪杰斯特拉算法(附完整源码)
    查看>>
    Objective-C实现dijkstra银行家算法(附完整源码)
    查看>>
    Objective-C实现Dinic算法(附完整源码)
    查看>>
    Objective-C实现disjoint set不相交集算法(附完整源码)
    查看>>
    Objective-C实现DisjointSet并查集的算法(附完整源码)
    查看>>
    Objective-C实现djb2哈希算法(附完整源码)
    查看>>
    Objective-C实现DNF排序算法(附完整源码)
    查看>>
    Objective-C实现doomsday末日算法(附完整源码)
    查看>>
    Objective-C实现double factorial iterative双阶乘迭代算法(附完整源码)
    查看>>
    Objective-C实现double factorial recursive双阶乘递归算法(附完整源码)
    查看>>
    Objective-C实现double hash双哈希算法(附完整源码)
    查看>>
    Objective-C实现double linear search recursion双线性搜索递归算法(附完整源码)
    查看>>
    Objective-C实现double linear search 双线性搜索算法(附完整源码)
    查看>>
    Objective-C实现double sort双重排序算法(附完整源码)
    查看>>
    Objective-C实现DoublyLinkedList双链表的算法(附完整源码)
    查看>>
    Objective-C实现DoublyLinkedList双链表算法(附完整源码)
    查看>>
    Objective-C实现DPLL(davisb putnamb logemannb loveland)算法(附完整源码)
    查看>>
    Objective-C实现DWT离散小波变换(附完整源码)
    查看>>
    Objective-C实现Edmonds-Karp算法(附完整源码)
    查看>>