智*** 发表于 2026-5-24 10:06:10

用STC32G144K246的63例程 | 已解决,取模软件,新旧风格

用STC32G144K246的63例程
【63-QSPI-TFT_DMA_P2P外设到外设_显示视频级动画效果程序-ILI9341】
把屏改成V7789, 8位数据P2后黑屏(背光是亮的),
不知问题出在那?
请大家指点
{:baoquan:}


void LCM_Init()
{
    P2BP &= ~0xff;      //使能LCM的D0~D8数据脚硬件自动设置端口模式

    P4M0 |= 0x34;       //RS,WR,RD设置成推挽输出
    P4M1 &= ~0x34;

    P5M0 |= 0x02;       //RST设置成推挽输出
    P5M1 &= ~0x02;

    P4M0 |= 0x08;       //CS设置成推挽输出
    P4M1 &= ~0x08;

    LCMIFCR = 0x80|CRMODE;
    LCMIFCFG = 0x00;    //8位模式
    LCMIFCFG2 = 0x00;   //
    LCMIFSTA = 0x00;
}



void LCM_WriteCmd_CS(WORD cmd)   
{

    LCMIFDATL = cmd;
    LCM_CS_L();
    LCMIFCR = 0x84|CRMODE;
    while (!(LCMIFSTA & 0x01));
    LCMIFSTA = 0x00;
    LCM_CS_H();
}

void LCM_WriteData_CS(WORD dat)   
{
    LCMIFDATL = dat;
    LCM_CS_L();
    LCMIFCR = 0x85|CRMODE;
    while (!(LCMIFSTA & 0x01));
    LCMIFSTA = 0x00;
    LCM_CS_H();
}




void TFT_Init()
{
LCM_CS_H();
delay_ms(50);
LCM_RST = 0;
delay_ms(150);
LCM_RST = 1;
delay_ms(50);
      LCM_WriteCmd_CS(0x11);
      delay_ms(50);
      LCM_WriteCmd_CS(0x36);
      LCM_WriteData_CS(0x60);//FPC朝左(0xa0),FPC朝右(0x60)FPC朝上(0xc0)FPC朝下(0x48)

      LCM_WriteCmd_CS(0x3A);
      LCM_WriteData_CS(0x05);

      LCM_WriteCmd_CS(0xB2);
      LCM_WriteData_CS(0x0C);
      LCM_WriteData_CS(0x0C);
      LCM_WriteData_CS(0x00);
      LCM_WriteData_CS(0x33);
      LCM_WriteData_CS(0x33);

      LCM_WriteCmd_CS(0xB7);
      LCM_WriteData_CS(0x76);
      LCM_WriteCmd_CS(0xBB);
      LCM_WriteData_CS(0x26);
      LCM_WriteCmd_CS(0xC0);
      LCM_WriteData_CS(0x2C);
      LCM_WriteCmd_CS(0xC2);
      LCM_WriteData_CS(0x01);
      LCM_WriteCmd_CS(0xC3);
      LCM_WriteData_CS(0x1F);
      LCM_WriteCmd_CS(0xC4);
      LCM_WriteData_CS(0x20);
      LCM_WriteCmd_CS(0xC6);
      LCM_WriteData_CS(0x0F);
      LCM_WriteCmd_CS(0xD0);
      LCM_WriteData_CS(0xA7);
      LCM_WriteData_CS(0xA1);
      LCM_WriteCmd_CS(0xD0);
      LCM_WriteData_CS(0xA4);
      LCM_WriteData_CS(0xA1);
      LCM_WriteCmd_CS(0xD6);
      LCM_WriteData_CS(0xA1);

      LCM_WriteCmd_CS(0xE0);
      LCM_WriteData_CS(0xF0);
      LCM_WriteData_CS(0x00);
      LCM_WriteData_CS(0x06);
      LCM_WriteData_CS(0x02);
      LCM_WriteData_CS(0x04);
      LCM_WriteData_CS(0x13);
      LCM_WriteData_CS(0x30);
      LCM_WriteData_CS(0x44);
      LCM_WriteData_CS(0x46);
      LCM_WriteData_CS(0x39);
      LCM_WriteData_CS(0x14);
      LCM_WriteData_CS(0x14);
      LCM_WriteData_CS(0x2D);
      LCM_WriteData_CS(0x36);

      LCM_WriteCmd_CS(0xE1);
      LCM_WriteData_CS(0xF0);
      LCM_WriteData_CS(0x0A);
      LCM_WriteData_CS(0x0E);
      LCM_WriteData_CS(0x0E);
      LCM_WriteData_CS(0x0B);
      LCM_WriteData_CS(0x05);
      LCM_WriteData_CS(0x2F);
      LCM_WriteData_CS(0x43);
      LCM_WriteData_CS(0x46);
      LCM_WriteData_CS(0x36);
      LCM_WriteData_CS(0x12);
      LCM_WriteData_CS(0x12);
      LCM_WriteData_CS(0x2A);
      LCM_WriteData_CS(0x32);

      LCM_WriteCmd_CS(0x21);
      delay_ms(200);
      LCM_WriteCmd_CS(0x29);

      LCM_WriteCmd_CS(0x2C);

}//这个v7789我在32G12K128上通过



void TFT_ShowStart()
{

    LCM_WriteCmd_CS(0x2A);
    LCM_WriteData_CS(0);
    LCM_WriteData_CS(0);
    LCM_WriteData_CS((BYTE)(TFT_W>>8));
    LCM_WriteData_CS(0x00FF&TFT_W);

    LCM_WriteCmd_CS(0x2B);
    LCM_WriteData_CS(0);
    LCM_WriteData_CS(0);
    LCM_WriteData_CS((BYTE)(TFT_H>>8));
    LCM_WriteData_CS(0x00FF&TFT_H);   

    LCM_WriteCmd_CS(0x2C);

    LCM_CS_L();
   
}//这个改成v7789后不知是否要改



狂热主宰 发表于 2026-5-24 11:10:14

通常背光由单个引脚控制移植没问题
可尝试调整通信速率

狂热主宰 发表于 2026-5-24 11:14:53

可能得比较TFT控制器的数据格式
另外单片机的外设也可能配置上有区别

智*** 发表于 2026-5-24 11:15:43

我是新手不知这搞{:zhemo:}

ercircle 发表于 2026-5-24 15:35:56

1.向屏幕厂要点屏例程,对比初始化序列
2.检查接线
3.逻辑分析仪抓屏幕侧波形,对比初始化数据



智*** 发表于 2026-5-25 11:21:28

请教大家,这样显示问题出那里?

ercircle 发表于 2026-5-25 11:37:59

智*** 发表于 2026-5-25 11:21
请教大家,这样显示问题出那里?

感觉CS或其它线上有干扰,打乱了传输节奏。

先试下逐帧刷纯色,量下CS WR RS这些关键信号上有没有毛刺。

智*** 发表于 2026-5-25 14:35:23

帮我看下怎回是,W25QXX我只烧入了13张图片的BIN,是不是还要烧图片尺寸的参数呀?

ercircle 发表于 2026-5-25 15:37:53

智*** 发表于 2026-5-25 14:35
帮我看下怎回是,W25QXX我只烧入了13张图片的BIN,是不是还要烧图片尺寸的参数呀? ...
初值看看?
要么仿真问题打印出来看看,或者QSPI RAM越界覆盖了?

智*** 发表于 2026-5-26 09:51:32

ercircle 发表于 2026-5-25 15:37
初值看看?
要么仿真问题打印出来看看,或者QSPI RAM越界覆盖了?

这我不知在那改,请指点{:baoquan:}这是ST32G144246的63例程,不存在你说的吧?
页: [1] 2 3 4
查看完整版本: 用STC32G144K246的63例程 | 已解决,取模软件,新旧风格