我正在使用 Bodner SPI 库来处理 9341 和触摸事件: https://github.com/Bodmer/TFT_eSPI
我还使用 Raspberry Pico,它支持 3.3v 电压,因此与此显示器非常匹配。我在 User_Setups 中使用 Setup60_RP2040_ILI9341.h 头文件,并根据默认值连接所有内容,以便进行演示。显示器工作得很漂亮。我浏览了他的一堆演示,显示方面的一切都按预期工作。
然后我想让触摸事件继续,所以我拉出了他的“Test_Touch_Controller.ino”演示:https://github.com/Bodmer/TFT_eSPI/blob/master/examples/Test%20and%20diagnostics/Test_Touch_Controller/ Test_Touch_Controller.ino
我连接了触摸连接以及附加芯片选择,启用了头文件中定义的 TOUCH_CS 常量,确保它与我在 pico 上使用的芯片选择引脚匹配。
所以问题是我得到了值,但它不正常。无需触摸屏幕,我就可以获得诸如(这是真实数据返回)之类的值:
X: 0 Y: 7936 Z: 2303
X: 0 Y: 7936 Z: 65023
X: 0 Y: 7936 Z: 255
X: 0 Y: 7936 Z: 63999
X: 0 Y: 7936 Z: 64767
X: 0 Y: 7936 Z: 3583
X: 0 Y: 7936 Z: 64255
X: 0 Y: 7936 Z: 4607
X: 0 Y: 7936 Z: 1535
X: 0 Y: 7936 Z: 2047
X: 0 Y: 7936 Z: 3071
X: 0 Y: 7936 Z: 65535
X: 0 Y: 7936 Z: 2303
X: 0 Y: 7936 Z: 2303
X: 0 Y: 7936 Z: 3583
如果我触摸屏幕,我确实会得到 X 和 Y 的值,但它们似乎与我实际触摸屏幕的位置无关。我意识到返回的值是原始值,而不是像素,但与屏幕上的位置仍然没有关系,例如,当我触摸屏幕时,X 值会上升或下降。这些值似乎相当随机。
我想知道我的触摸屏是否坏了。事实上,Y 正在读取 7936,而 Z 甚至在没有触摸显示屏的情况下到处跳跃,这让我相信情况可能如此,但我想知道我是否遗漏了其他东西。
仅供参考,出于测试目的,如果我断开 CS 引脚,所有内容都会按预期读取 0,因此显然是从触摸获取数据。
我认为它显示的是 ADC 输出而不是 X、Y 坐标。 如果你读了细则,它说就在某个地方。 华泰 GL :-) PJ