在测试麻雀一号LCD显示颜色渐变和SD卡内图片时,发现颜色老是不对,不知道是什么问题???本来准备要要做一些图片显示的,一直卡住了。显示的图片偏白。
而且是偶尔可以正常显示,大多时候不行。有时候随便修改一下文件编译下载可以,有时候又不行。测试多次总感觉LCD颜色数据没正确写到LCD控制器里。
下面是原图和LCD上显示的图对比。
现在又正常了,让人琢磨不透。
颜色条测试:
static int test_lcd_color(int argc, char *argv[])
{
int i;
uint16_t color;
/* draw a color */
lcd_clear(BLACK);
//RED
for (i = 1; i < 16; i ++)
{
color = (i)<<12;
rt_kprintf("color = %04X.\n",color);
lcd_fill(i*12,20,12*(i+1),50,color);
//lcd_clear(color);
}
rt_thread_mdelay(5);
//GREEN
for (i = 1; i < 16; i ++)
{
color = (i)<<7;
rt_kprintf("color = %04X.\n",color);
lcd_fill(i*12,70,12*(i+1),100,color);
//lcd_clear(color);
}
rt_thread_mdelay(5);
//BLUE
for (i = 1; i < 16; i ++)
{
color = (i<<1);
rt_kprintf("color = %04X.\n",color);
lcd_fill(i*12,120,12*(i+1),150,color);
//lcd_clear(color);
}
rt_thread_mdelay(5);
//GRAY
for (i = 1; i < 32; i ++)
{
color = (i<<11) + (i<<6) + i;
rt_kprintf("color = %04X.\n",color);
lcd_fill(i*6,170,6*(i+1),200,color);
//lcd_clear(color);
}
}
希望有经验的提示下,是哪个地方引起的问题?LCD写数据要注意什么?
|