打印

灰常恶心的12864反白雪花屏问题,高手来吧。。。。

[复制链接]
2476|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
RT,整了2天了
我已经不知道怎么办了
底层驱动无问题,只要一写入反白函数,就成这样子(第3,4,7,8列必定反白,无论设不设定这片区域烦不烦白,一调用泛白函数就这样,如图)
但是想要反白的区域能正常反白

问题就是这几列为什么也跟着反白?

反白原理依据的是DDRAM和GDRAM同时显示的关系是异或,写入0XFF就能反白的原理。
函数是别人的,我只是理解了。
//-----------------------------------------------------------------------
//函数功能:使用绘图的方法让一行反白
//形式参数:unsigned char row,unsigned char bkcor
//行参说明:坐标水平位置,坐标垂直位置,反白行数,要反白还是清除(1:反白,0:清除)
//使用说明:无
//------------------------------------------------------------------------   

void SetRowBackColor(unsigned char row,unsigned char bkcor)
{
unsigned char i,j,basex,basey,color;
Write_cmd(0x34);        //扩展指令
if(bkcor==1) color=0xff;     //全写入0XFF,反白。
if(bkcor==0) color=0x00;    //全写入0X00,消白。

if(row==1||row==2)      //第一第二行
{
  basex=0x80;        //上半屏
}
if(row==3||row==4)    //第三第四行
{
  basex=0x88;      //下半屏
  row=row-2;      //垂直位址都是从0X80开始的,不管上下半屏。
}
basey=0x80+(row-1)*16;   //从哪一行的首行点阵开始
for(i=0;i<16;i++)     //一行有16行点阵
{               
  Write_cmd(basey+i);   //写入垂直位址。
  Write_cmd(basex);   //水平位址(上半屏第一字为0X80)//下半屏第一字为0X88;
            
  for(j=0;j<16;j++)      //再写入两个8位元的数据,AC会自动增一,接着写数据
   Write_data(color);  
}

Write_cmd(0x36);
Write_cmd(0x30);  
}



很无奈,不知道有没有人有同样遭遇。。。希望高人解答,在线等。。。

相关帖子

沙发
王紫豪| | 2012-4-11 14:18 | 只看该作者
换液晶

使用特权

评论回复
板凳
er357951|  楼主 | 2012-4-11 14:23 | 只看该作者
我也怀疑是硬件问题,下午准备去实验室换一块。
但是这货除了泛白,其他的显示汉字,数字,英文,字符,画点甚至画直角坐标都没问题。
要是硬件问题,也太扯了吧。

使用特权

评论回复
地板
er357951|  楼主 | 2012-4-14 11:31 | 只看该作者
竟然没有人回答。。。。哎。。。
问题已经解决了,是GDRAM没有在函数调用前清空导致的,清空就好了,反白函数是清白的。。。

使用特权

评论回复
5
alwen| | 2012-8-10 13:34 | 只看该作者
但一个问题是。清空后,有时也会出现花屏的现像,不知道LZ有没遇到过。。。

使用特权

评论回复
6
受不了了| | 2012-8-10 13:50 | 只看该作者
很显然是显示的内容过于敏感,换点内容显示呢;P

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

57

帖子

1

粉丝