WoodData 发表于 2020-6-7 16:22

【RTOS】求解?麻雀一号LCD显示图片和颜色渐变条出问题?

   在测试麻雀一号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写数据要注意什么?

downloadtext 发表于 2020-6-7 17:56

我是怀疑硬件接线不太稳定导致,但是没有什么证据。有时候断电上电,同样固件就正常显示了。

WoodData 发表于 2020-6-7 17:59

downloadtext 发表于 2020-6-7 17:56
我是怀疑硬件接线不太稳定导致,但是没有什么证据。有时候断电上电,同样固件就正常显示了。 ...

你也出现过吗?我也是感觉接触不良导致数据没正确写进去。但是我把接口那里捏紧也不正常。
页: [1]
查看完整版本: 【RTOS】求解?麻雀一号LCD显示图片和颜色渐变条出问题?