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

Committer:
stkim92
Date:
Wed Apr 12 23:48:20 2017 +0000
Revision:
2:e624abf0f696
Parent:
1:6b03b9f64311
Change a mbed-src to mbed-dev;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaizen 0:81a58b2fb28e 1 #include "mbed.h"
kaizen 0:81a58b2fb28e 2 #include "Adafruit_SSD1306.h"
kaizen 0:81a58b2fb28e 3
kaizen 0:81a58b2fb28e 4 DigitalOut myled(LED1);
kaizen 0:81a58b2fb28e 5
kaizen 0:81a58b2fb28e 6 #if defined(TARGET_WIZwiki_W7500)
kaizen 0:81a58b2fb28e 7 #define SDA PA_10
kaizen 0:81a58b2fb28e 8 #define SCL PA_9
kaizen 0:81a58b2fb28e 9 #endif
kaizen 0:81a58b2fb28e 10
kaizen 0:81a58b2fb28e 11 // an SPI sub-class that provides a constructed default
kaizen 0:81a58b2fb28e 12 class I2CPreInit : public I2C
kaizen 0:81a58b2fb28e 13 {
kaizen 0:81a58b2fb28e 14 public:
kaizen 0:81a58b2fb28e 15 I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
kaizen 0:81a58b2fb28e 16 {
kaizen 0:81a58b2fb28e 17 frequency(100000);
kaizen 0:81a58b2fb28e 18 start();
kaizen 0:81a58b2fb28e 19 };
kaizen 0:81a58b2fb28e 20 };
kaizen 0:81a58b2fb28e 21
kaizen 0:81a58b2fb28e 22 I2CPreInit gI2C(PA_10,PA_9);
kaizen 0:81a58b2fb28e 23 Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128);
kaizen 0:81a58b2fb28e 24 Serial pc(USBTX,USBRX);
kaizen 0:81a58b2fb28e 25
kaizen 0:81a58b2fb28e 26 int main()
kaizen 1:6b03b9f64311 27 { uint16_t x=0;
kaizen 0:81a58b2fb28e 28
kaizen 0:81a58b2fb28e 29 gOled.begin();
kaizen 0:81a58b2fb28e 30 gOled.printf("%ux%u OLED Display\r\n", gOled.width(), gOled.height());
kaizen 0:81a58b2fb28e 31 gOled.display();
kaizen 0:81a58b2fb28e 32
kaizen 0:81a58b2fb28e 33
kaizen 0:81a58b2fb28e 34 while(1)
kaizen 0:81a58b2fb28e 35 {
kaizen 0:81a58b2fb28e 36 myled = !myled;
kaizen 0:81a58b2fb28e 37 gOled.printf("%u\r",x);
kaizen 0:81a58b2fb28e 38 gOled.display();
kaizen 0:81a58b2fb28e 39 x = x + 1;
kaizen 0:81a58b2fb28e 40 wait(1);
kaizen 0:81a58b2fb28e 41 }
kaizen 0:81a58b2fb28e 42 }