天啊!我们用了这么就的彩屏清屏函数竟然有BUG(高手...

2020-01-25 15:30发布

本帖最后由 w灰太狼x 于 2013-11-28 20:28 编辑

天啊!我们用了这么就的彩屏清屏函数竟然有BUG
你买彩屏店家会给你一些彩屏资料,其中包括程序,但是我发现这些店家的技术员所写彩屏的清屏函数几乎都有一个问题(我验证了好几家都有这个问题),而这个问题又不容易发现。这几天室友发现了,然后我们研究了下,发现了问题所在,在这里和大家分享一下。问题虽小,但是也是问题啊。

先上几张图片
这个是个钟表的程序
2013-11-27_23-11-37_960.jpg (2.99 MB, 下载次数: 0) 下载附件 2013-11-28 20:18 上传
下面是正确的清屏函数

void ClearScreen(unsigned int bColor)
{

         unsigned int i,j;
         LCD_SetPos(0,319,0,479);  //只需要把这个坐标改下就ok了
         for (i=0;i<480;i++)
         {
           for (j=0;j<320;j++)
               Write_Data_U16(bColor);
         }
}


void CLR_Screen(unsigned int bColor)
{
unsigned int i,j;
LCD_SetPos(0,239,0,319);//320x240
for (i=0;i<320;i++)
        {
           for (j=0;j<240;j++)
               Write_Data_U16(bColor);
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
34条回答
nhztb
2020-01-27 10:22
这个不一定的,自己注意下;
有的是做了处理的,//****************************************************************************//
//在LCD上开窗口,SX,SY为开始点;
//x_Length,y_Length 为X,Y方向的长度
void        LCD_Set_Windows(UINT16 sx,UINT16 sy,UINT16 x_Length,UINT16 y_Length)
{                               
        //硬件相关,
        Set_Windows(sx,sy,sx+x_Length-1,sy+y_Length-1);///这边是跟屏驱动相关的,
}

一周热门 更多>