コード例 #1
0
ファイル: main.c プロジェクト: luciodj/OLED-Click
void main(void)
{
    int i;
    
    // initialize the device
    SYSTEM_Initialize();
    OLED_Initialize();

    while (1)
    {
        OLED_PutPicture( logo);
        __delay_ms( 2000);
        OLED_Command( SSD1306_INVERTDISPLAY);
        __delay_ms( 2000);
        OLED_Command( SSD1306_NORMALDISPLAY);
        __delay_ms( 2000);

       for( i=0xAF; i>0x00; i--){
            OLED_SetContrast( i);
            __delay_ms( 20);
       }
       for( i=0x00; i<0xAF; i++){
            OLED_SetContrast( i);
            __delay_ms( 20);
       }
    }
}
コード例 #2
0
ファイル: oled.c プロジェクト: MaxGekk/ZigZag
static void OLED_SendComm(int com)
{
  char i;
  OLED_Command();
  OLED_SelectDSPL();
  /*
  for (i=16;i>0;i--)
  {
    if(com&0x8000) P5OUT|=MOSI; else P5OUT&=~MOSI;
    P5OUT^=UCLK;
    com=com<<1;
    P5OUT^=UCLK;
  }
  */
  OLED_sendByte(com >> 8);
  OLED_sendByte(com);
 /* __DeselectDSPL();
  __SelectDSPL();
  */
  OLED_DeselectDSPL();
}
コード例 #3
0
ファイル: oled.c プロジェクト: luciodj/In10LinesOfCodeExtra
void OLED_SetContrast(uint8_t temp)
{
    OLED_Command(SSD1306_SETCONTRAST);  
    OLED_Command(temp);                  // contrast step 1 to 256
}
コード例 #4
0
ファイル: oled.c プロジェクト: luciodj/In10LinesOfCodeExtra
void OLED_SetColumn(uint8_t add)
{
    add += 32;
    OLED_Command((SSD1306_SETHIGHCOLUMN | (add >> 4))); // SET_HIGH_COLUMN
    OLED_Command((0x0f & add));        // SET LOW_COLUMN
}
コード例 #5
0
ファイル: oled.c プロジェクト: luciodj/In10LinesOfCodeExtra
void OLED_SetRow(uint8_t add)
{
    add = 0xB0 | add;
    OLED_Command(add);
}
コード例 #6
0
ファイル: oled.c プロジェクト: luciodj/In10LinesOfCodeExtra
void OLED_Initialize(void)
{
    OLED_RST_LAT = 0;
    __delay_ms(1000);
    OLED_RST_LAT = 1;
    __delay_ms(1000);
    OLED_Command(SSD1306_DISPLAYOFF);             //0xAE  Set OLED Display Off
    OLED_Command(SSD1306_SETDISPLAYCLOCKDIV);     //0xD5  Set Display Clock Divide Ratio/Oscillator Frequency
    OLED_Command(0x80);
    OLED_Command(SSD1306_SETMULTIPLEX);           //0xA8  Set Multiplex Ratio
    OLED_Command(39);
    
    OLED_Command(SSD1306_SETSEGMENTREMAP);        //0xA1  Set Segment Remap Inv
    OLED_Command(SSD1306_COMSCANDEC);             //0xC8  Set COM Output Scan Inv
    
    OLED_Command(SSD1306_SETDISPLAYOFFSET);       //0xD3  Set Display Offset
    OLED_Command(0x00);
    OLED_Command(SSD1306_CHARGEPUMP);             //0x8D  Set Charge Pump
    OLED_Command(0x14);                           //0x14  Enable Charge Pump
    OLED_Command(SSD1306_SETSTARTLINE);           //0x40  Set Display Start Line
    OLED_Command(SSD1306_SETCOMPINS);             //0xDA  Set COM Pins Hardware Configuration
    OLED_Command(0x12);
    OLED_Command(SSD1306_SETCONTRAST);            //0x81   Set Contrast Control
    OLED_Command(0xAF);
    OLED_Command(SSD1306_SETPRECHARGE);           //0xD9   Set Pre-Charge Period
    OLED_Command(0x25);
    OLED_Command(SSD1306_SETVCOMDETECT);          //0xDB   Set VCOMH Deselect Level
    OLED_Command(0x20);
    OLED_Command(SSD1306_DISPLAYALLON_RESUME);    //0xA4   Set Entire Display On/Off
    OLED_Command(SSD1306_NORMALDISPLAY);          //0xA6   Set Normal/Inverse Display
    OLED_Command(SSD1306_DISPLAYON);              //0xAF   Set OLED Display On
} // OLED_Initialize