TFTLCD点亮实验中,我想知道那个例子程序里面的逻辑究竟是什么写的!!!
我一直想自己写一个完整的代码实现一遍,但是无从下手!!!
就是我想知道第一步应该干什么,为什么要这么做我不是非常清楚!!
例子里面的读LCD的ID是怎么读的,这个我有点不是非常清楚。我觉得读ID的时候,你都没有将ID保存进去,怎么读的进来
就算是厂家写进去了,但是为什么写一个结构体一读就能读出来呢?
以下这个结构体,整个例程中我都没有找到将数据写进去只有读出来,
//LCD重要参数集
typedef struct
{
u16 width; //LCD 宽度
u16 height; //LCD 高度
u16 id; //LCD ID
u8 dir; //横屏还是竖屏控制:0,竖屏;1,横屏。
u16 wramcmd; //开始写gram指令
u16 setxcmd; //设置x坐标指令
u16 setycmd; //设置y坐标指令
}_lcd_dev;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
if(lcddev.id<0XFF||lcddev.id==0XFFFF||lcddev.id==0X9300)
{
LCD_WR_REG(0XD3);
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id<<=8;
lcddev.id|=LCD_RD_DATA();
if(lcddev.id!=0X9341)
{
LCD_WR_REG(0XBF);
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id<<=8;
lcddev.id|=LCD_RD_DATA();
if(lcddev.id!=0X6804)
{
LCD_WR_REG(0XD4);
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id<<=8;
lcddev.id|=LCD_RD_DATA();
if(lcddev.id!=0X5310)
{
LCD_WR_REG(0XDA00);
lcddev.id=LCD_RD_DATA();
LCD_WR_REG(0XDB00);
lcddev.id=LCD_RD_DATA();
lcddev.id<<=8;
LCD_WR_REG(0XDC00);
lcddev.id|=LCD_RD_DATA();
if(lcddev.id==0x8000)lcddev.id=0x5510;
if(lcddev.id!=0X5510)
{
LCD_WR_REG(0XA1);
lcddev.id=LCD_RD_DATA();
lcddev.id=LCD_RD_DATA();
lcddev.id<<=8;
lcddev.id|=LCD_RD_DATA();
if(lcddev.id==0X5761)lcddev.id=0X1963;
}
}
}
}
}
好的 我去查看!我已经看了,我也是407的,但是ID是没有赋值的!
一周热门 更多>