记一次艰难的CTP调试
2024-08-29 20:13:29
一个atmel,mxt540e的CTP触摸屏。
中断配置为下降沿,输入上拉。
总是只能触发一次中断,中断脚就一直低电平,无法拉高。这只是表面现象
不停找底层I2C驱动,改代码,没用。要靠波形来说话
用逻辑分析仪,发现读完了数据,中断已经拉高。
然后过了几ms后,中断拉低,但没有触发中断。排除了CTP本身问题
其实前面用c8051f已经正常工作了。
好,先去掉USB部分,发现可以正常中断,原来USB里面包含一个10ms延迟。
问题就来了,报点频率是3-5ms,也就是说,几ms后中断来临,而我的程序还在跑中断函数,无法响应。等到跑完函数后,接不到下降沿(这时中断信号一直低)
于是,改回USB哪个延迟1ms就足够了。本身只延迟1ms足够,不要乱改!
总之CTP有任何问题时,有中断问题,就把中断得波形也弄进来,于是找对方向解决问题。
报点频率可以通过逻辑分析仪来观察波形,两次报点之间的间隔
中断函数边沿触发,如果执行太久,会导致下一次边沿到来,无法触发中断函数。
一年多后回头来看,当时犯了低级错误。就一句话总结:
进入中断处理程序后,记得关闭中断,处理完动作再打开。这样就OK了!!!
最新文章
- MYSQL file types redo log
- 【Java每日一题】20161014
- 【poj2942】 Knights of the Round Table
- 转义字符_MySQL识别下面的转义序列
- 设置div居中
- hdu5823(反演dp)
- Windows 2003 + IIS6.0 相关 401.1 或 401.2 等问题解决
- Linux 关机命令详解
- [转] 解析Qt资源文件使用
- web前端调试工具
- leetcode problem 32 -- Longest Valid Parentheses
- 【HDOJ】1619 Unidirectional TSP
- 理解 Linux 配置文件分类和使用
- 详解AJAX核心 —— XMLHttpRequest 对象 (下)
- NFS服务器端配置
- qt关键字高亮
- git知识总结-2.git基本操作之原理说明
- SQL-函数-014
- Linux将公网ip映射到局域网ip
- 搭建简单的FTP服务器