新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2018-7-20
- 在线时间
- 2 小时
|

楼主 |
发表于 2018-8-6 21:49:07
|
显示全部楼层
老哥,太谢谢了!经你提醒我按你说的改了后颜色显示就正确了。手册里,的bit3:(0=RGB color filter pannel,1=BGR color filter pannel),要想使颜色数据格式为R5G6B5,并且扫描格式为从左到右从上到下,确实在写命令0x36后,应该写数据0b00。bit3位应该为0。
但是我的问题又来了,lcd_init函数里最后是开窗函数+清屏,void LCD_OLCD_Open_Window(0,0,239,319);LCD_Clear(WHITE);函数原型是:
void LCD_OLCD_Open_Window(0,0,239,319)
{
LCD_WR_REG(0x36);
LCD_WR_DATA(0X08);
LCD_WR_REG(0X2A);
LCD_WR_DATA(x>>8);
LCD_WR_DATA(x&0xff);
LCD_WR_DATA(xx>>8);
LCD_WR_DATA(xx&0xff);
LCD_WR_REG(0X2B);
LCD_WR_DATA(y>>8);
LCD_WR_DATA(y&0xff);
LCD_WR_DATA(yy>>8);
LCD_WR_DATA(yy&0xff);
}
void LCD_Clear(u16 color)
{ u32 i;
LCD_WR_REG(0x2c);
for(i=0;i<320*240;i++)
LCD_WR_DATA(color);
}
还是要写指令0x36 后写数据0x08才能正确显示啊。bit3为1,这是咋回事,相矛盾了.....
|
|