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

[复制链接]
1630|3
 楼主| WoodData 发表于 2020-6-7 16:22 | 显示全部楼层 |阅读模式
     在测试麻雀一号LCD显示颜色渐变和SD卡内图片时,发现颜色老是不对,不知道是什么问题???本来准备要要做一些图片显示的,一直卡住了。显示的图片偏白。

而且是偶尔可以正常显示,大多时候不行。有时候随便修改一下文件编译下载可以,有时候又不行。测试多次总感觉LCD颜色数据没正确写到LCD控制器里。

下面是原图和LCD上显示的图对比。
   





现在又正常了,让人琢磨不透。



颜色条测试:
  1. static int test_lcd_color(int argc, char *argv[])
  2. {
  3.     int i;
  4.     uint16_t color;

  5.     /* draw a color */
  6.     lcd_clear(BLACK);
  7.     //RED
  8.     for (i = 1; i < 16; i ++)   
  9.     {
  10.         color = (i)<<12;
  11.         rt_kprintf("color = %04X.\n",color);
  12.         lcd_fill(i*12,20,12*(i+1),50,color);
  13.         //lcd_clear(color);
  14.     }
  15.     rt_thread_mdelay(5);
  16.     //GREEN
  17.     for (i = 1; i < 16; i ++)
  18.     {
  19.         color = (i)<<7;
  20.         rt_kprintf("color = %04X.\n",color);
  21.         lcd_fill(i*12,70,12*(i+1),100,color);
  22.         //lcd_clear(color);
  23.     }
  24.     rt_thread_mdelay(5);

  25.     //BLUE
  26.     for (i = 1; i < 16; i ++)
  27.     {
  28.         color = (i<<1);
  29.         rt_kprintf("color = %04X.\n",color);
  30.         lcd_fill(i*12,120,12*(i+1),150,color);
  31.         //lcd_clear(color);
  32.     }
  33.     rt_thread_mdelay(5);

  34.     //GRAY
  35.     for (i = 1; i < 32; i ++)
  36.     {
  37.         color = (i<<11) + (i<<6) + i;
  38.         rt_kprintf("color = %04X.\n",color);
  39.         lcd_fill(i*6,170,6*(i+1),200,color);
  40.         //lcd_clear(color);
  41.     }


希望有经验的提示下,是哪个地方引起的问题?LCD写数据要注意什么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

你也出现过吗?我也是感觉接触不良导致数据没正确写进去。但是我把接口那里捏紧也不正常。

评论

嗯,出现过。我还是怀疑硬件。本身我这个板子焊接的也不是很精准,结合测试的情况,觉得硬件连接方面的问题可能性比较大  发表于 2020-6-7 18:03
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

4784

帖子

28

粉丝
快速回复 在线客服 返回列表 返回顶部