ILI9806驱动代码分享

2019-07-20 01:51发布

分享ILI9806驱动代码一份


补充内容 (2017-9-12 11:37):
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
MrXiong
1楼-- · 2019-07-20 23:54
muecn 发表于 2017-5-8 10:00
//读取LCD ID
  if(lcddev.id

很感谢的大神的帮助,在加入判断代码代码后,现在可以正常显示,代码已经调通。
现在是有点疑问?那就是DA DB DC的指令问题,因为经测试代码如下
if(lcddev.id!=0x9806)
                {        
                        WriteComm(0xDA00);        
                        lcddev.id=ReadData();        //读回0x00         
                        WriteComm(0xDB00);        
                        lcddev.id=ReadData();        //读回0x80
                        lcddev.id<<=8;        
                        WriteComm(0xDC00);        
                        lcddev.id|=ReadData();        //读回0x00      

               printf(" LCD ID:%x ",lcddev.id); //打印LCD ID

                        if(lcddev.id==0x8000)lcddev.id=0x5510;
                        else lcddev.id=LCDID;
                }
串口输出的结果是
LCD ID:0
LCD ID:9806

疑问就是既然读取的值为0,为何还要直接用DA DB DC指令来读???
而像DA这些指令的作用是:用于跟踪/液晶模块驱动程序的版本。这是定义的供应商(与用户协议)和显示每次修改的变化显示,材料或施工规范。
这里面有隐藏了哪些信息??

muecn
2楼-- · 2019-07-21 00:38
WriteComm(0xDA00);        
lcddev.id=ReadData();        //读回0x00         
WriteComm(0xDB00);        
lcddev.id=ReadData();        //读回0x80
lcddev.id<<=8;        
WriteComm(0xDC00);        
lcddev.id|=ReadData();        //读回0x00               
if(lcddev.id==0x8000)lcddev.id=0x5510;
else lcddev.id=LCDID;

这段代码是用来适配我别一块35510的屏  其实你不用管它


如果只是9806代码就是
WriteComm(0xD3);                                   
lcddev.id=ReadData();        
lcddev.id=ReadData();                //读到0x00
lcddev.id=ReadData();                //读到0x98                                                           
lcddev.id<<=8;
lcddev.id|=ReadData();         //读到0x06     
glyhw
3楼-- · 2019-07-21 02:47
 精彩回答 2  元偷偷看……
余一水
4楼-- · 2019-07-21 02:48
 精彩回答 2  元偷偷看……
lwj199302
5楼-- · 2019-07-21 07:17
补发文件。。。。
余一水
6楼-- · 2019-07-21 09:51
 精彩回答 2  元偷偷看……

一周热门 更多>