昨天调试新的小板,发现oled屏点亮后显示有些异常:
问题1、最后一个page里的图像没有按照预期的效果显示。
问题2、图像显示正常,数字和文字显示异常。
问题2是由于平台使用了矢量字体,对于字体的边缘有特殊的处理,而底层在将16bit的显示信息转换成1bit的oled显示信息时,转换阈值没有设置好,所以会出现问题,合理的阈值还在尝试中。。。
问题1尝试了如下方法:
1、因为只有最后刷进去数据的一个page显示异常,因此首先怀疑是不是显示流程有疏忽,导致只刷了前面几个page的数据,最后一个page数据没刷。通过打印调试信息,所有的page均有数据写入。
2、对oled刷纯色全屏,最后刷的page还是没有正常显示。
目前只能怀疑样品屏的某个page有问题,但是手里的两块屏都是这样,感觉可能性不是很大。。。
补充下目前所用平台对于oled屏显示的处理。只是在原有显示框架的基础之上中间插入了oled的处理。
常规的彩色TFT屏使用的是RGB565模式,即一个pixel用16bit的数据表示,上层传递下来的显示内容就是N多个以16bit为一个pixel的图像信息buffer。
而oled屏一个pixel只需一个bit的数据来表示。
因此,在不改变上层数据处理的前提下,点亮oled屏,就需要在底层将传过来的16bit代表一个pixel的图像数据,转化成1bit代表一个pixel的图像数据,再送到oled上显示。
上层传递的图像信息底层送到屏上的图像信息
tft彩屏: 一个pixel16bit 一个pixel16bit
oled屏: 一个pixel16bit 一个pixel 1bit