void Lcd_Init(void)
{
Lcd_Reset(); //Reset before LCD Init.
UINT16 devicecode = 0;
//tftwrite_gpiocfg();
Lcd_WriteIndex(0xd3);
tftread_gpiocfg();
devicecode = Lcd_ReadData(); //xx
devicecode = Lcd_ReadData(); //0x00
devicecode = Lcd_ReadData(); //0x93
devicecode <<= 8;
devicecode |= Lcd_ReadData(); //0x41
。。。
}
UINT8 Lcd_ReadData(void)
{
UINT8 data;
LCD_DC_SET;
LCD_CS_CLR;
delay_ms(1);
//读取数据(读寄存器时,并不需要读2次)
LCD_RDW_CLR;
delay_ms(1);
data |= (UINT8)((GPIO_ReadInputData(GPIOD) & (1 << 2)) >> 2);
data |= (UINT8)((GPIO_ReadInputData(GPIOC) & (1 << 12)) >> 11);
data |= (UINT8)((GPIO_ReadInputData(GPIOC) & (1 << 11)) >> 9);
data |= (UINT8)((GPIO_ReadInputData(GPIOC) & (1 << 10)) >> 7);
data |= (UINT8)((GPIO_ReadInputData(GPIOF) & (1 << 7)) >> 3);
data |= (UINT8)((GPIO_ReadInputData(GPIOF) & (1 << 6)) >> 1);
data |= (UINT8)((GPIO_ReadInputData(GPIOA) & (1 << 8)) >> 2);
data |= (UINT8)((GPIO_ReadInputData(GPIOC) & (1 << 9)) >> 2);
LCD_RDW_SET;
LCD_CS_SET;
return data;
}
使用示波器看读写时序和文档上一致的,
之前没有读ID,直接初始化,但是显示全白屏,
加上读ID部分,单步时查看,RRD信号拉低后,数据线上全为低,RDD拉高后,数据线上数据为浮空
网上很多帖子将白屏的问题,初始化代码都更改了好几个版本了,问题还没有解决掉,只能请求大神支招了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
没有路过的大神指点一二吗
一周热门 更多>