打印
[STM32F3]

战舰lcd屏驱动问题

[复制链接]
2209|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bobo984052080|  楼主 | 2014-12-8 16:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有人调过战舰的板子?lcd,战舰自带的开发板没有问题,横屏竖屏都可以,读id一直是0,于是确认是9341,我们买的其他lcd,开始读出来是0,          if(lcddev.id<0XFF||lcddev.id==0XFFFF||lcddev.id==0X9300)//读到ID不正确,新增lcddev.id==0X9300判断,因为9341在未被复位的情况下会被读成9300
        {       
                //尝试9341 ID的读取               
                LCD_WR_REG(0XD3);                                  
                LCD_RD_DATA();                                 //dummy read        
                LCD_RD_DATA();                       //读到0X00
                  lcddev.id=LCD_RD_DATA();           //读取93                                                                  
                lcddev.id<<=8;
                lcddev.id|=LCD_RD_DATA();          //读取41                                      
                if(lcddev.id!=0X9341)                //非9341,尝试是不是6804
                {       
                        LCD_WR_REG(0XBF);                                  
                        LCD_RD_DATA();                         //dummy read          
                         LCD_RD_DATA();               //读回0X01                          
                         LCD_RD_DATA();                         //读回0XD0                                  
                          lcddev.id=LCD_RD_DATA();//这里读回0X68
                        lcddev.id<<=8;
                          lcddev.id|=LCD_RD_DATA();//这里读回0X04                     
                }
                if(lcddev.id!=0X9341&&lcddev.id!=0X6804)lcddev.id=0x9341;//新增,用于识别9341              
        }经过这里读出来的是9486,          if(lcddev.id<0XFF||lcddev.id==0XFFFF||lcddev.id==0X9300)//读到ID不正确,新增lcddev.id==0X9300判断,因为9341在未被复位的情况下会被读成9300
        {       
                //尝试9341 ID的读取               
                LCD_WR_REG(0XD3);                                  
                LCD_RD_DATA();                                 //dummy read        
                LCD_RD_DATA();                       //读到0X00
                  lcddev.id=LCD_RD_DATA();           //读取93                                                                  
                lcddev.id<<=8;
                lcddev.id|=LCD_RD_DATA();          //读取41                                      
                if(lcddev.id!=0X9341)                //非9341,尝试是不是6804
                {       
                        LCD_WR_REG(0XBF);                                  
                        LCD_RD_DATA();                         //dummy read          
                         LCD_RD_DATA();               //读回0X01                          
                         LCD_RD_DATA();                         //读回0XD0                                  
                          lcddev.id=LCD_RD_DATA();//这里读回0X68
                        lcddev.id<<=8;
                          lcddev.id|=LCD_RD_DATA();//这里读回0X04                     
                }
                if(lcddev.id!=0X9341&&lcddev.id!=0X6804)lcddev.id=0x9341;//新增,用于识别9341              
        }在这里是1400,于是也确认是9341,竖屏没问题,横屏却出问题,有熟悉的望告知,谢谢。
沙发
bobo984052080|  楼主 | 2014-12-8 16:25 | 只看该作者
不能贴图片啊,意思就是第一次读id是0,于是小于0xff,进入第一个if,再读id是9486,再在第二个if里是1400,最后发现不是9341也不是6804于是确认是9341,竖屏没问题,横屏出问题啊。

使用特权

评论回复
板凳
mmuuss586| | 2014-12-8 21:35 | 只看该作者

那就好看看2个屏的ID,是否有啥不同;

使用特权

评论回复
地板
bobo984052080|  楼主 | 2014-12-8 22:35 | 只看该作者
现在毫无头绪啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

12

帖子

0

粉丝