void LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)
{
u16 height,width;
u16 i,j;
width=ex-sx+1; //得到填充的宽度
height=ey-sy+1;//高度
for(i=0;i<height;i++)
{
LCD_SetCursor(sx,sy+i); //设置光标位置
LCD_WriteRAM_Prepare(); //开始写入GRAM
for(j=0;j<width;j++)LCD->LCD_RAM=color[i*height+j];//写入数据
}
}
该函数的形参“u16 *color”怎么运用?请举个例子!谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
你说的,下面的这个函数就实现了,也是在开发板上的函数
void LCD_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 color)
{
u16 i,j;
u16 xlen=0;
u16 temp;
if((lcddev.id==0X6804)&&(lcddev.dir==1)) //6804?á?????±?ò???????í
{
temp=sx;
sx=sy;
sy=lcddev.width-ex-1;
ex=ey;
ey=lcddev.width-temp-1;
lcddev.dir=0;
lcddev.setxcmd=0X2A;
lcddev.setycmd=0X2B;
LCD_Fill(sx,sy,ex,ey,color);
lcddev.dir=1;
lcddev.setxcmd=0X2B;
lcddev.setycmd=0X2A;
}else
{
xlen=ex-sx+1;
for(i=sy;i<=ey;i++)
{
LCD_SetCursor(sx,i); //?è????±ê????
LCD_WriteRAM_Prepare(); //????????GRAM
for(j=0;j<xlen;j++)LCD_WR_DATA(color); //?è????±ê????
}
}
}>
一个是数值 void LCD_Fill();
一个是内存 void LCD_Color_Fill();呗
一周热门 更多>