SSD1306_LCD Example for WIZwiki-W7500

Dependencies:   Adafruit_GFX mbed-dev

Prerequisite

This example is for OLED test.

To implement this function, you need a Platform board and OLED.

Below are what we used.

  • WIZwiki-W7500 from WIZnet (Platform board)
  • OLED from WIZnet

Hardware Configuration

WIZwiki-W7500 Pin map

pin map

OLED (from WIZnet)

/media/uploads/stkim92/oled.png

Wiring Table

OLEDW7500
SCLPA_9
SDAPA_10
GNDGND
VCCVCC

Software

Define Pins

main.cpp

#if defined(TARGET_WIZwiki_W7500)
#define SDA                  PA_10
#define SCL                  PA_9
#endif

Set data for OLED

main.cpp

gOled.begin();
gOled.printf("%ux%u OLED Display\r\n", gOled.width(), gOled.height());
gOled.display();

Caution

watchout pins setting

main.cpp

Committer:
stkim92
Date:
2017-04-12
Revision:
2:e624abf0f696
Parent:
1:6b03b9f64311

File content as of revision 2:e624abf0f696:

#include "mbed.h"
#include "Adafruit_SSD1306.h"
 
DigitalOut myled(LED1);

#if defined(TARGET_WIZwiki_W7500)
#define SDA                  PA_10
#define SCL                  PA_9
#endif

// an SPI sub-class that provides a constructed default
class I2CPreInit : public I2C
{
public:
    I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
    {
        frequency(100000);
        start();
    };
};

I2CPreInit gI2C(PA_10,PA_9);
Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128);
Serial pc(USBTX,USBRX);

int main()
{   uint16_t x=0;
 
    gOled.begin();
    gOled.printf("%ux%u OLED Display\r\n", gOled.width(), gOled.height());
    gOled.display();


    while(1)
    {
        myled = !myled;
        gOled.printf("%u\r",x);
        gOled.display();
        x = x + 1;
        wait(1);
    }
}