求教:有关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
1楼-- · 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); //?è????±ê????      
}
}  
}>
飞鸟60520
2楼-- · 2019-07-23 18:27
color的参数上: 
一个是数值 void LCD_Fill();
一个是内存 void LCD_Color_Fill();呗
liang59425
3楼-- · 2019-07-23 22:22
 精彩回答 2  元偷偷看……
SHIBO
4楼-- · 2019-07-24 04:06
 精彩回答 2  元偷偷看……
burg
5楼-- · 2019-07-24 09:59
27楼你说的应该是对的,但是我怎么把颜 {MOD}改来改去显示的还是黑 {MOD}的,有木有人验证一下,应该是用来显示图片填充数组的
burg
6楼-- · 2019-07-24 10:37
有木有人用过这个函数的,不验证一下心里老不爽了

一周热门 更多>