• LPC1768开发板液晶问题解决


        在RT-Thread上完成简单的LED等显示后,我就准备把路虎板子的液晶驱动移到RTT项目里,其实很简单的,因为例子里都有代码的,我以为Copy下写个简单的显示测试下就好了,结果把我折腾了一晚还没搞定,还把液晶的芯片文档翻了N遍,测试了不少想法,才找出问题的,这个很郁闷,无良的厂家,既然把一个管脚的电平给搞错了,还让我拿到了,擦擦。

       说下我遇到的问题:我把驱动移到RTT后,就写了一个简单的字符显示想测试下(直接调用函数就好了),结果发现显示的字符不对劲,根本看不出来是什么,我就开始检查程序,查显示逻辑,查时序,看是否有问题,测试这些感觉都好的。那没办法,我就找了芯片的文档,是SSD1289驱动芯片,看了看设置,发现0x01就和显示的顺序啥的有关,一通改,结果测试继续有问题。上网找了别人用的芯片驱动设置,主要是初始化设置,结果还是无效,搞定12点多,没办法,第二天还上班,睡觉去·········

       第二天下班回来继续,上班期间没事也想了几种测试方式,回来试的时候就发现问题了,我本来想显示一根斜线的,结果这根斜线出现了很规律的显示,发现如果G0、G1对换,G2、G3对话一次类推那么我这显示出来的图像就和我想的一样了,我试着取了一个字的字模按我的思路改了数据的排序,显示,终于出现正确的结果了。

       那为什么会出现那种情况呢?可能和哪里的设置有关,看SSD1289芯片文档,终于发现一个和我现象吻合的介绍

       既然是硬件问题,我拆了液晶,弄了半天,结果发现一个问题,这个管脚既然没有引出来,是被封装在里面的,我擦,悲催了,难道我用的液晶是批不良品,感觉看看有没其他设置,结果是发现了一个设置,但根本不能解决我的问题。

       搞不懂这芯片设计的,这么多操作方式,G1~G318各种不同的排列操作,总共加起来既然有8种,我去,除了G0~G318这种顺序的,其他的方式写个程序估计要写死了,写数据的时候地址是有自动加上去的,如果不是顺序根本不好把握显示的位置,除非特殊用处,不过我想不到哪里需要那种操作。

       

        看来是没办法了,我只能自己修改算法了,显示的时候调整下位置了,虽然麻烦了点,但至少还能用。

  • 相关阅读:
    vagrant在windows下的使用
    eclipse包层级显示和工作空间显示
    myeclipse中解决 java heap space/gc overhead limit exceeded eclipse 的方法
    Java基础1:深入理解Java面向对象三大特性
    Java设计模式学习总结
    初探设计模式5:Spring涉及到的9种设计模式
    初探Java设计模式4:JDK中的设计模式
    初探Java设计模式3:行为型模式(策略,观察者等)
    springmvc之返回json类型的数据给前端
    spring之如何将验证错误信息显示在相应界面
  • 原文地址:https://www.cnblogs.com/nixianmin/p/3122766.html
Copyright © 2020-2023  润新知