1.前言
前两天刚把ST7789写入搞定,这两天想折腾一下读取。最开始是读ID,先是用厂家送的程序,程序里面用的是模拟I8080协议,一切正常。后来我用STC32G的内置LCM模块,发现读取不出来。更神奇的是ID读不出来,但是颜色能正常读取。折腾了一天总算找到问题了,在这里提供一个解决思路。
2.解决方法
核心在于GPIO的设置
在STC32G的LCM默认的GPIO用的是推挽输出
可以看到,颜色是正常读取的,但是ID无法读取到
如果我重新设置IO模式,换成上拉准双向口
可以看到ID正常出来了,非常神奇。
我不确定STC里上拉准双向口对应STM32的哪种模式,大家有兴趣可以去测试一下。我是不知道具体的原因,只能在读取之前先将管脚切换模式,读取完毕后再换回来。
3.顺带说一嘴
顺带着说一声读取颜色的问题,厂家给的程序非常复杂。
但其实完全不用,跟着手册上来,先发送0x2E,然后先读一次,是无效数据,然后是读第二次,直接就是点位的RGB值了。
4.结语
搞了一天,一直以为是协议的问题,没想到是GPIO设置的问题。而且手册上完全没有讲到,网上也没有人搞出来,麻了啊,厂家给的程序只能说跑得起来。。。