天啊!我们用了这么就的彩屏清屏函数竟然有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);
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
Excellence
1楼-- · 2020-01-27 06:40
喔。   好。
tony_sgt
2楼-- · 2020-01-27 08:29
 精彩回答 2  元偷偷看……
nhztb
3楼-- · 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);///这边是跟屏驱动相关的,
}
lryxr2507
4楼-- · 2020-01-27 11:44
其实很多程序都是抄来抄去的,只要第一个人写的有Bug,后面的人基本都会跟着错.
kayatsl
5楼-- · 2020-01-27 13:49
shanyan 发表于 2013-11-28 23:40
不知道楼主买哪家垃圾屏了?我们做TFT液晶屏的全被鄙视了,真是一颗老鼠屎坏一锅粥!!
让楼主看看我家的程 ...

. 我撑你.....
sgj245609615
6楼-- · 2020-01-27 18:38
了解一下  

一周热门 更多>