OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9014|回复: 4

ili9341为什么显示出来只有8位色的效果

[复制链接]

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
发表于 2014-6-16 15:16:33 | 显示全部楼层 |阅读模式
5金钱
mcu:stm32f407
lcd:ili9341
驱动方式:fsmc(原子初始化代码)
问题:显示各种纯色正常,显示图片或者图标就只有8位色的效果,颜色过渡的地方惨不忍睹,
2片9341都一样问题,ssd1289就正常,各种调初始化参数无果,百度了也有同样问题的但都没有解决,
if(lcddev.id==0X9341) //9341初始化
{  
LCD_WR_REG(0xCF);  
LCD_WR_DATA(0x00); 
LCD_WR_DATA(0xC1); 
LCD_WR_DATA(0X30);

LCD_WR_REG(0xED);  
LCD_WR_DATA(0x64); 
LCD_WR_DATA(0x03); 
LCD_WR_DATA(0X12); 
LCD_WR_DATA(0X81);

LCD_WR_REG(0xE8);  
LCD_WR_DATA(0x85); 
LCD_WR_DATA(0x10); //00
LCD_WR_DATA(0x7A);//78

LCD_WR_REG(0xCB);  
LCD_WR_DATA(0x39); 
LCD_WR_DATA(0x2C); 
LCD_WR_DATA(0x00); 
LCD_WR_DATA(0x34); 
LCD_WR_DATA(0x02);

LCD_WR_REG(0xF7);  
LCD_WR_DATA(0x20);

LCD_WR_REG(0xEA);  
LCD_WR_DATA(0x00); 
LCD_WR_DATA(0x00);

LCD_WR_REG(0xC0);    //Power control 
LCD_WR_DATA(0x1B);   //VRH[5:0]          10*********

LCD_WR_REG(0xC1);    //Power control         
LCD_WR_DATA(0x01);   //SAP[2:0];BT[3:0]  10************

LCD_WR_REG(0xC5);    //VCM control 
LCD_WR_DATA(0x30); //3F
LCD_WR_DATA(0x30); //3C 50

LCD_WR_REG(0xC7);    //VCM control2 
LCD_WR_DATA(0XB7);   //a4

LCD_WR_REG(0x36);    // Memory Access Control 内存访问控制
LCD_WR_DATA(0x48); //08

LCD_WR_REG(0x3A);   
LCD_WR_DATA(0x55); 

LCD_WR_REG(0xB1);   
LCD_WR_DATA(0x00);   
LCD_WR_DATA(0x1A);

LCD_WR_REG(0xB6);    // Display Function Control显示功能控制 颜色值刚刚好相反
LCD_WR_DATA(0x0A); 
LCD_WR_DATA(0xA2); //

LCD_WR_REG(0xF2);    // 3Gamma Function Disable 3伽马函数禁用
LCD_WR_DATA(0x00);

LCD_WR_REG(0x26);    //Gamma curve selected //伽马设置
LCD_WR_DATA(0x01);   //选择伽马曲线1

LCD_WR_REG(0xE0);    //Set Gamma 正极伽马校准
LCD_WR_DATA(0x0F); 
LCD_WR_DATA(0x2A); 
LCD_WR_DATA(0x28); 
LCD_WR_DATA(0x08); 
LCD_WR_DATA(0x0E); 
LCD_WR_DATA(0x08); 
LCD_WR_DATA(0x54); 
LCD_WR_DATA(0XA9); 
LCD_WR_DATA(0x43); 
LCD_WR_DATA(0x0A); 
LCD_WR_DATA(0x0F); 
LCD_WR_DATA(0x00); 
LCD_WR_DATA(0x00); 
LCD_WR_DATA(0x00); 
LCD_WR_DATA(0x00);

LCD_WR_REG(0XE1);    //Set Gamma 负极伽马校准
LCD_WR_DATA(0x00); 
LCD_WR_DATA(0x15); 
LCD_WR_DATA(0x17); 
LCD_WR_DATA(0x07); 
LCD_WR_DATA(0x11); 
LCD_WR_DATA(0x06);
LCD_WR_DATA(0x2B); 
LCD_WR_DATA(0x56); 
LCD_WR_DATA(0x3C); 
LCD_WR_DATA(0x05); 
LCD_WR_DATA(0x10); 
LCD_WR_DATA(0x0F); 
LCD_WR_DATA(0x3F); 
LCD_WR_DATA(0x3F); 
LCD_WR_DATA(0x0F);

LCD_WR_REG(0x2B); 
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x01);
LCD_WR_DATA(0x3f);

LCD_WR_REG(0x2A); 
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0xef);  
LCD_WR_REG(0x11);  delay_ms(120); //Exit Sleep 退出睡眠模式
LCD_WR_REG(0x29); //delay_ms(10);//display on
}

最佳答案

查看完整内容[请看2#楼]

回复【2楼】正点原子: --------------------------------- 是你们的屏,朋友不要了送我的,但是解决了,原来是D8插针接触不良,初始化能 通过是因为只用了D0--D7的底8位,D8插针接触不良绿色就缺位,换了排母就好了, 初始化能通过纯色也正常所以一开始就没怀疑硬件问题,走了不少弯路, LCD_fill(50,50,50,50, COLOR&xxxx);一位一位实验出来的。实验到COLOR&0x100 就没显示了 才知道,引以为鉴。 德国vs葡萄牙,好期待 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2014-6-16 15:16:34 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
是你们的屏,朋友不要了送我的,但是解决了,原来是D8插针接触不良,初始化能
通过是因为只用了D0--D7的底8位,D8插针接触不良绿色就缺位,换了排母就好了,
初始化能通过纯色也正常所以一开始就没怀疑硬件问题,走了不少弯路,
LCD_fill(50,50,50,50, COLOR&xxxx);一位一位实验出来的。实验到COLOR&0x100 就没显示了
才知道,引以为鉴。

德国vs葡萄牙,好期待啊,买了好多德国胜,你要给力哦。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-16 21:57:24 | 显示全部楼层
是我们的屏么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

13

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
金钱
272
注册时间
2014-4-9
在线时间
9 小时
发表于 2014-6-16 22:56:36 | 显示全部楼层
回复【3楼】ye781205:
---------------------------------
这场1比1吧,快去补个波胆
大海啊,全是水; 骏马啊,四条腿。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2017-9-22
在线时间
1 小时
发表于 2018-10-15 17:10:38 | 显示全部楼层
初始化参数设置的问题,我忘记了那个参数是设置这个的了,因为我一开始也出现这个问题,后台解决了,没有记录下来,今天调屏,又出现这个问题。后来就懒得找了,直接拷贝之前的参数,你可以参考这个:我的事ITL9488的驱动:

                LCD_CMD=(0xE0);
        LCD_DATA=(0x00);
        LCD_DATA=(0x07);
        LCD_DATA=(0x10);
        LCD_DATA=(0x09);
        LCD_DATA=(0x17);
        LCD_DATA=(0x0B);
        LCD_DATA=(0x40);
        LCD_DATA=(0x8A);
        LCD_DATA=(0x4B);
        LCD_DATA=(0x0A);
        LCD_DATA=(0x0D);
        LCD_DATA=(0x0F);
        LCD_DATA=(0x15);
        LCD_DATA=(0x16);
        LCD_DATA=(0x0F);
       
        LCD_CMD=(0xE1);
        LCD_DATA=(0x00);
        LCD_DATA=(0x1A);
        LCD_DATA=(0x1B);
        LCD_DATA=(0x02);
        LCD_DATA=(0x0D);
        LCD_DATA=(0x05);
        LCD_DATA=(0x30);
        LCD_DATA=(0x35);
        LCD_DATA=(0x43);
        LCD_DATA=(0x02);
        LCD_DATA=(0x0A);
        LCD_DATA=(0x09);
        LCD_DATA=(0x32);
        LCD_DATA=(0x36);
        LCD_DATA=(0x0F);
       
        LCD_CMD=(0xB1);
        LCD_DATA=(0xA0);
       
        LCD_CMD=(0xB4);
        LCD_DATA=(0x02);
       
        LCD_CMD=(0xC0);
        LCD_DATA=(0x17);
        LCD_DATA=(0x15);
       
        LCD_CMD=(0xC1);
        LCD_DATA=(0x41);
       
        LCD_CMD=(0xC5);
        LCD_DATA=(0x00);
        LCD_DATA=(0x0A);
        LCD_DATA=(0x80);
       
        LCD_CMD=(0xB6);
        LCD_DATA=(0x02);
       
        LCD_CMD=(0x36);
        LCD_DATA=(0x48);   
       
        LCD_CMD=(0x3a);   
        LCD_DATA=(0x55);
       
        LCD_CMD=(0xE9);
        LCD_DATA=(0x00);  
       
        LCD_CMD=(0XF7);
        LCD_DATA=(0xA9);
        LCD_DATA=(0x51);
        LCD_DATA=(0x2C);
        LCD_DATA=(0x82);
       
        LCD_CMD=(0x11);
        delay_ms(120);
        LCD_CMD=(0x29);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 23:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表