!
触摸屏和TFT-LCD屏组成一个模块,LCD控制器为ILI9341,接口为SPI-4wire; 电阻触摸屏控制器为XPT2046,其接口为SPI-3wire。
这样整个LCD模块就需要2个SPI片选信号引脚,Openwrt-widorao一共只有2个SPI片选脚,其中CS0已分配给了flash,CS1可用于TFT-LCD,因此需要想办法再增加1个片选用于触摸屏。
-
LCD屏显示是基于Framebuffer的,根据widora维基大本营的教程 http://wiki.widora.cn/ips 来进行配置即可。
-
感谢liuchen_csdn的博文----“为MT7688 SPI添加N个SPI接口”
参考学习后,就可以方便地用GPIO来模拟出另外2个SPI片选脚了。 我这里将GPIO41和42模拟成CS2和CS3. 参考[0_1543206777170_spi_Ncs.tar.gz]
(/assets/uploads/files/1543206777440-spi_ncs.tar.gz)
dts 部分:
!
在/dev下相应生成2个spidev:
! -
最后将CS1连接到LCD的控制器片选接口,将CS2(GPIO41)连接到触摸屏控制器片选接口,其他MISO, MOSI, CLK等接口线共用。
-
参考网络上的开源教程,做了一个简单的触摸写字试验程序:https://github.com/widora/ctest/tree/master/XPT2046
效果