ili9341驱动TFT液晶屏显示白屏,ID也读不出来

2019-07-20 21:36发布

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拉高后,数据线上数据为浮空
网上很多帖子将白屏的问题,初始化代码都更改了好几个版本了,问题还没有解决掉,只能请求大神支招了




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。