m0_64633712 2023-03-28 10:32 采纳率: 72.2%
浏览 28
已结题

最近使用一块mipi屏驱动,厂家发了上下电序列的程序,但跟设备树里能用的不一样,怎么把这段程序转换成设备树可读的上下电序列?

最近使用一块mipi屏驱动,厂家发了上下电序列的程序,但跟设备树里能用的不一样,怎么把这段程序转换成设备树可读的上下电序列?



/**************************************************/        
// I2C power module controller        
/**************************************************/ 

void DisplayOn()
{
  Set_POWER(1,1,1,1);//1.8V ON, 2.8V ON, 5V ON, BL ON
 
}


//
void PowerOffSequence()
{
    DCS_Short_Write_NP(0x28);
    Delay(200);
    DCS_Short_Write_NP(0x10);
    Delay(100);
    Set_STANDBY();//Video transfer stop
    Delay(50);


    //Delay(10000);  
    //Delay(10000);
    //Delay(10000);




    Set_RESET(1,0);//MIPI RESET 1, LCD RESET 0
    Delay(50);
    Set_RESET(0,0);//MIPI RESET 0, LCD RESET 0
    Delay(50);

    Set_POWER(1,1,0,1);//1.8V ON, 2.8V ON, 5V OFF, BL ON
    Delay(50);

    Set_BOOST(5.00, 5.00, 0x81, 50);//VDD, VEE, OFF:VDD->VEE, 10ms
    Delay(50);

    Set_POWER(1,0,0,1);//1.8V ON, 2.8V OFF, 5V OFF, BL ON
    Delay(100);
    Set_POWER(0,0,0,0);//1.8V OFF, 2.8V OFF, 5V OFF, BL OFF

}

/**************************************************/        
// Read function (Option)        
/**************************************************/ 
//
void ReadOperation()
{
    //Clean memory: BUFFER    
    memset(0);//BUFFER size: 8 Bytes

    //Read value to BUFFER
    DCS_Short_Read_NP(0xDA, 1, BUFFER+0);
    DCS_Short_Read_NP(0xDB, 1, BUFFER+1);
    DCS_Short_Read_NP(0xDC, 1,BUFFER+2);
}


void main()
{

    //Delay(100);
    Set_POWER(1,0,0,0);//1.8V ON, 2.8V OFF, 5V OFF, BL OFF
    Delay(500);

    Set_POWER(1,1,1,0);//1.8V ON, 2.8V ON, 5V ON, BL OFF
    Delay(500);

    Set_BOOST(5.00,5.00,0x01,50);
    Delay(50);

    Set_RESET(1,0);//MIPI RESET 1, LCD RESET 0
    Delay(200);
    Set_RESET(1,1);//MIPI RESET 1, LCD RESET 1
    Delay(200);

    SSD_LANE(4,0);


    /**************************************************/        
    //LCDD (Peripheral) Setting        
      /**************************************************/    
//NV3051F +CTC3.45(ZH035IA-01A)2lane
SSD_SEND(0x01,0xFF,0x30);
SSD_SEND(0x01,0xFF,0x52);
SSD_SEND(0x01,0xFF,0x01);
SSD_SEND(0x01,0xE3,0x00);
SSD_SEND(0x01,0x40,0x0A);
//SSD_SEND(0x01,0x20,0x90);
SSD_SEND(0x01,0x03,0x40);
SSD_SEND(0x01,0x04,0x00);
SSD_SEND(0x01,0x05,0x03);
SSD_SEND(0x01,0x24,0x12);
SSD_SEND(0x01,0x25,0x1E);
SSD_SEND(0x01,0x26,0x6F);
SSD_SEND(0x01,0x27,0x52);
SSD_SEND(0x01,0x28,0x67);
SSD_SEND(0x01,0x29,0x01);
SSD_SEND(0x01,0x2A,0xDF);
SSD_SEND(0x01,0x37,0x9C);
SSD_SEND(0x01,0x38,0xA7);
SSD_SEND(0x01,0x39,0x53);
SSD_SEND(0x01,0x44,0x00);
SSD_SEND(0x01,0x49,0x3C);
SSD_SEND(0x01,0x59,0xFE);
SSD_SEND(0x01,0x5C,0x00);
SSD_SEND(0x01,0x80,0x20);
SSD_SEND(0x01,0x91,0x77);
SSD_SEND(0x01,0x92,0x77);
SSD_SEND(0x01,0xA0,0x55);
SSD_SEND(0x01,0xA1,0x50);
SSD_SEND(0x01,0xA4,0x9C);
SSD_SEND(0x01,0xA7,0x02);
SSD_SEND(0x01,0xA8,0x01);
SSD_SEND(0x01,0xA9,0x01);
SSD_SEND(0x01,0xAA,0xFC);
SSD_SEND(0x01,0xAB,0x28);
SSD_SEND(0x01,0xAC,0x06);
SSD_SEND(0x01,0xAD,0x06);
SSD_SEND(0x01,0xAE,0x06);
SSD_SEND(0x01,0xAF,0x03);
SSD_SEND(0x01,0xB0,0x08);
SSD_SEND(0x01,0xB1,0x26);
SSD_SEND(0x01,0xB2,0x28);
SSD_SEND(0x01,0xB3,0x28);
SSD_SEND(0x01,0xB4,0x33);
SSD_SEND(0x01,0xB5,0x08);
SSD_SEND(0x01,0xB6,0x26);
SSD_SEND(0x01,0xB7,0x08);
SSD_SEND(0x01,0xB8,0x26);
SSD_SEND(0x01,0xFF,0x30);
SSD_SEND(0x01,0xFF,0x52);
SSD_SEND(0x01,0xFF,0x02);
SSD_SEND(0x01,0xB0,0x0B);
SSD_SEND(0x01,0xB1,0x16);
SSD_SEND(0x01,0xB2,0x17);
SSD_SEND(0x01,0xB3,0x2C);
SSD_SEND(0x01,0xB4,0x32);
SSD_SEND(0x01,0xB5,0x3B);
SSD_SEND(0x01,0xB6,0x29);
SSD_SEND(0x01,0xB7,0x40);
SSD_SEND(0x01,0xB8,0x0D);
SSD_SEND(0x01,0xB9,0x05);
SSD_SEND(0x01,0xBA,0x12);
SSD_SEND(0x01,0xBB,0x10);
SSD_SEND(0x01,0xBC,0x12);
SSD_SEND(0x01,0xBD,0x15);
SSD_SEND(0x01,0xBE,0x19);
SSD_SEND(0x01,0xBF,0x0E);
SSD_SEND(0x01,0xC0,0x16);
SSD_SEND(0x01,0xC1,0x0A);
SSD_SEND(0x01,0xD0,0x0C);
SSD_SEND(0x01,0xD1,0x17);
SSD_SEND(0x01,0xD2,0x14);
SSD_SEND(0x01,0xD3,0x2E);
SSD_SEND(0x01,0xD4,0x32);
SSD_SEND(0x01,0xD5,0x3C);
SSD_SEND(0x01,0xD6,0x22);
SSD_SEND(0x01,0xD7,0x3D);
SSD_SEND(0x01,0xD8,0x0D);
SSD_SEND(0x01,0xD9,0x07);
SSD_SEND(0x01,0xDA,0x13);
SSD_SEND(0x01,0xDB,0x13);
SSD_SEND(0x01,0xDC,0x11);
SSD_SEND(0x01,0xDD,0x15);
SSD_SEND(0x01,0xDE,0x19);
SSD_SEND(0x01,0xDF,0x10);
SSD_SEND(0x01,0xE0,0x17);
SSD_SEND(0x01,0xE1,0x0A);
SSD_SEND(0x01,0xFF,0x30);
SSD_SEND(0x01,0xFF,0x52);
SSD_SEND(0x01,0xFF,0x03);
SSD_SEND(0x01,0x00,0x2A);
SSD_SEND(0x01,0x01,0x2A);
SSD_SEND(0x01,0x02,0x2A);
SSD_SEND(0x01,0x03,0x2A);
SSD_SEND(0x01,0x04,0x61);
SSD_SEND(0x01,0x05,0x80);
SSD_SEND(0x01,0x06,0xC7);
SSD_SEND(0x01,0x07,0x01);
SSD_SEND(0x01,0x08,0x82);
SSD_SEND(0x01,0x09,0x83);
SSD_SEND(0x01,0x30,0x2A);
SSD_SEND(0x01,0x31,0x2A);
SSD_SEND(0x01,0x32,0x2A);
SSD_SEND(0x01,0x33,0x2A);
SSD_SEND(0x01,0x34,0xA1);
SSD_SEND(0x01,0x35,0xC5);
SSD_SEND(0x01,0x36,0x80);
SSD_SEND(0x01,0x37,0x23);
SSD_SEND(0x01,0x40,0x82);
SSD_SEND(0x01,0x41,0x83);
SSD_SEND(0x01,0x42,0x80);
SSD_SEND(0x01,0x43,0x81);
SSD_SEND(0x01,0x44,0x55);
SSD_SEND(0x01,0x45,0xE6);
SSD_SEND(0x01,0x46,0xE5);
SSD_SEND(0x01,0x47,0x55);
SSD_SEND(0x01,0x48,0xE8);
SSD_SEND(0x01,0x49,0xE7);
SSD_SEND(0x01,0x50,0x02);
SSD_SEND(0x01,0x51,0x01);
SSD_SEND(0x01,0x52,0x04);
SSD_SEND(0x01,0x53,0x03);
SSD_SEND(0x01,0x54,0x55);
SSD_SEND(0x01,0x55,0xEA);
SSD_SEND(0x01,0x56,0xE9);
SSD_SEND(0x01,0x57,0x55);
SSD_SEND(0x01,0x58,0xEC);
SSD_SEND(0x01,0x59,0xEB);
SSD_SEND(0x01,0x7E,0x02);
SSD_SEND(0x01,0x7F,0x80);
SSD_SEND(0x01,0xE0,0x5A);
SSD_SEND(0x01,0xB1,0x00);
SSD_SEND(0x01,0xB4,0x0E);
SSD_SEND(0x01,0xB5,0x0F);
SSD_SEND(0x01,0xB6,0x04);
SSD_SEND(0x01,0xB7,0x07);
SSD_SEND(0x01,0xB8,0x06);
SSD_SEND(0x01,0xB9,0x05);
SSD_SEND(0x01,0xBA,0x0F);
SSD_SEND(0x01,0xC7,0x00);
SSD_SEND(0x01,0xCA,0x0E);
SSD_SEND(0x01,0xCB,0x0F);
SSD_SEND(0x01,0xCC,0x04);
SSD_SEND(0x01,0xCD,0x07);
SSD_SEND(0x01,0xCE,0x06);
SSD_SEND(0x01,0xCF,0x05);
SSD_SEND(0x01,0xD0,0x0F);
SSD_SEND(0x01,0x81,0x0F);
SSD_SEND(0x01,0x84,0x0E);
SSD_SEND(0x01,0x85,0x0F);
SSD_SEND(0x01,0x86,0x07);
SSD_SEND(0x01,0x87,0x04);
SSD_SEND(0x01,0x88,0x05);
SSD_SEND(0x01,0x89,0x06);
SSD_SEND(0x01,0x8A,0x00);
SSD_SEND(0x01,0x97,0x0F);
SSD_SEND(0x01,0x9A,0x0E);
SSD_SEND(0x01,0x9B,0x0F);
SSD_SEND(0x01,0x9C,0x07);
SSD_SEND(0x01,0x9D,0x04);
SSD_SEND(0x01,0x9E,0x05);
SSD_SEND(0x01,0x9F,0x06);
SSD_SEND(0x01,0xA0,0x00);
SSD_SEND(0x01,0xFF,0x30);
SSD_SEND(0x01,0xFF,0x52);
SSD_SEND(0x01,0xFF,0x02);
SSD_SEND(0x01,0x01,0x01);
SSD_SEND(0x01,0x02,0xDA);
SSD_SEND(0x01,0x03,0xBA);
SSD_SEND(0x01,0x04,0xA8);
SSD_SEND(0x01,0x05,0x9A);
SSD_SEND(0x01,0x06,0x70);
SSD_SEND(0x01,0x07,0xFF);
SSD_SEND(0x01,0x08,0x91);
SSD_SEND(0x01,0x09,0x90);
SSD_SEND(0x01,0x0A,0xFF);
SSD_SEND(0x01,0x0B,0x8F);
SSD_SEND(0x01,0x0C,0x60);
SSD_SEND(0x01,0x0D,0x58);
SSD_SEND(0x01,0x0E,0x48);
SSD_SEND(0x01,0x0F,0x38);
SSD_SEND(0x01,0x10,0x2B);
SSD_SEND(0x01,0xFF,0x30);
SSD_SEND(0x01,0xFF,0x52);
SSD_SEND(0x01,0xFF,0x00);
SSD_SEND(0x01,0x36,0x02);
SSD_SEND(0x01,0x3A,0x70);

DCS_Short_Write_NP(0x11);

 Delay(100);

DCS_Short_Write_NP(0x29);    
Delay(200);
  
SSD_MODE(2,1);

}

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-28 12:22
    关注
    • 看下这篇博客,也许你就懂了,链接:【极简数据结构】快速了解并实现顺序表,速通玩家的最爱
    • 除此之外, 这篇博客: 【极简数据结构】快速了解并实现顺序表,速通玩家的最爱中的 🔱对头插函数和尾插函数的优化 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • SeqListInsert函数可以在任意pos位置插入数据,当然包括了头部和尾部。因此我们可以在头插和尾插函数中复用SeqListInsert函数。真是妙极了!

      头插函数复用SeqListInsert函数

      //顺序表 头插(复用SeqListInsert函数)
      void SeqListPushFront(SL* psl, SLDataType x) 
      {
      	SeqListInsert(psl, 0, x);
      }
      

      尾插函数复用SeqListInsert函数

      //顺序表 尾插(复用SeqListInsert函数
      void SeqListPushBack(SL* psl, SLDataType x) 
      {
      	SeqListInsert(psl, psl->size, x);
      }
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月1日
  • 已采纳回答 4月23日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 对于知识的学以致用的解释
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败