Whatsapp

Verification Code*

Tips To Drive CMEL 2.8 inch OLED

cmel280oled

Today we use the ARM7 board to drive the  2.8” OLED. The cable is 61 pins, there are positive voltage and negative voltage. Set the voltage and rise the electric current, to exceed 1 A. After checking the circuit, there is no problem.

Related: CMEL 2.8 inch OLED 240X320

Then I add a 9V between -4.4V and 4.6V,the electicity become 0 ,change 9V to 3V,the electricity become 30mA;

Cut the -4.4 V and change it to be a grounding voltage, the electricity becomes stable, about 50 mA. But now I met another problem, The screen turn to all red. And it keeps red after installing the initial code, and it can`t work to reset the board.

 Finally, I work out it, it must use a 0X23 command to define the width before setting, then there will be many dots appearing on the screen. It become simple now, use the 0X22 command to start the data transmission. Try to clear the screen, then load the picture, but there is a little red color on the screen. So I connect the AR_VSS to the -4.4 V, and the display turns normal now.

 The following is the code, and the interface is 8080 16 bits.

 
  uint16  S6E63D6_Init_Data[]={

   0x02,0x0000, 

   0x03,0x0030, 

   0x10,0x0000,

   0x18,0x0028,

   0xf8,0x000f,

   0xf9,0x000f,

   0x05,0x0001,

   

   0x70,0x2580, 

   0x71,0x2780,

   0x72,0x3380,

   0x73,0x1d80,

   0x74,0x1f11,

   0x75,0x2419,

   0x76,0x1a14,

   0x77,0x211a,

   0x78,0x2013,

 

   };

   

static void delay10ms(void)

{

 uint16 i;

 i=10000;

 while(i--);

}

   

 

void OLED_init(void)      {

 uint32 i;

 uint16 temp;

   uint16 *Pointer;

 OLED_RST_LOW;

   delay10ms();         //Keep more time to read MTP value

 OLED_RST_HI;

   delay10ms();         //Keep more time to read MTP value

 

 temp=sizeof(S6E63D6_Init_Data)/2;

 WriteCMD(0x23);

 

 for(i=0;i<(temp); )

  {

  WriteCMD(S6E63D6_Init_Data[i++]);

  WriteData(S6E63D6_Init_Data[i++]);

 

  }

 while(1)

 {

  WriteCMD(0x22);

   Pointer= (uint16 *)Pic_01;

 for(i=0;i<(320*240);i++)< span="">

 {

  WriteData(*Pointer++);

 }

   for(i=0;i<1000000;i++);< span="">

  WriteCMD(0x22);

   Pointer= (uint16 *)Pic_02;

 for(i=0;i<(320*240);i++)< span="">

 {

  WriteData(*Pointer++);

 }

 for(i=0;i<1000000;i++); 

 }

}

 

//    end

 


COPYRIGHT © 2015-2025  Panox Electronics Co.,Ltd.
ONE-STOP DISPLAY SYSTEM SOLUTION

Logo