求教:有关lcd的问题LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)怎么运用?

2019-07-20 22:32发布

 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”怎么运用?请举个例子!谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
34条回答
wyudcl
2019-07-23 16:48
回复【15楼】一片天:
---------------------------------
你说的,下面的这个函数就实现了,也是在开发板上的函数
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); //?è????±ê????      
}
}  
}>

一周热门 更多>