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




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
无帝老三
1楼-- · 2019-07-21 02:57
 精彩回答 2  元偷偷看……
无帝老三
2楼-- · 2019-07-21 06:06
初始化执行完exit sleep命令后,电流根本没变化,那应该是寄存器写失败了,
无帝老三
3楼-- · 2019-07-21 08:17
无帝老三 发表于 2016-6-21 11:36
初始化执行完exit sleep命令后,电流根本没变化,那应该是寄存器写失败了,

没有路过的大神指点一二吗
正点原子
4楼-- · 2019-07-21 09:49
检查IO读取是否正常。杜邦线一个个IO接GND和3.3试试输出状态正常不

一周热门 更多>