经过快一个礼拜的时间,终于把NS2009的触摸问题搞好了。遇到好几个问题。下面暗改描述一下:
1.硬件-->歪朵拉TINY200 V1版本。
2.软件模拟IIC驱动 NS2009
3.在刚开始的时候读取NS2009的AD数据出错(在晕哥群里问了,晕哥居然不鸟我,这是个忧伤的故事....),后来发现是我IIC有一个地方,方向设置错了.
4.读出数据后开始的时候自己写了一份校准程序(效果惨不忍睹,ps:算法的问题,我等凡夫俗子还是摸不着道道)
5.使用正点原子的校准算法,发现触摸的效果整体向上偏移,(划一条水平方向直线的时候,大概整体Y轴30个像素点左右),我看了原子的代码,其中有一个问题就是他的算法默认A和B(C和D的也是)的Y轴读取ADC接近相等(XPT2046的确是这样,NS2009这操蛋玩意却差的有点多)
A B
C D
6.在21 IC上面找到一份 利沃夫伊万弗兰科 (Lviv Polytechnic) 国立大学 Svyatoslav应用程序工程师写的3点校准代码发现效果很不错(缺点是:小的早点还是有,不是柔丝般顺滑)如下图:
7.NS2009 读取AD代码如下:
离线
有没有NS2009 驱动程序啊
上图已经贴出NS2009的读取AD程序了。你读取两个通道就行了,一个X通道,一个Y通道。
然后NS2009校准,把模拟量按照转换关系转换为像素位置即可
离线
感觉用ns2009的好少呀
其实有很多人用的,都在默默的赚钱,没有公布而已
离线
我也模拟了I2C驱动NS2009,能读取到X,Y坐标值,但是 IRQ 管脚 一直低电平,难道发送命令错误?发送命令参考老大的NS2007
IRQ要上拉的,你看下你是不是按下没有弹开?用示波器看下波形
离线
为啥不直接移植tslib的呢,这个触摸库非常完善
没有试过裸机移植tslib.我没有上linux
离线