Oled Adafruit i2c SSD1306
Dependencies: Adafruit_GFX mbed
Fork of Test_OLED_Display by
main.cpp@3:671cc904fce6, 2016-09-17 (annotated)
- Committer:
- JojoS
- Date:
- Sat Sep 17 15:30:02 2016 +0200
- Revision:
- 3:671cc904fce6
- Parent:
- 0:e1e154fcc87e
- Child:
- 4:be8f6c39c104
Pindefinitions for ezSBC2 or LPCXpresso
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JojoS | 0:e1e154fcc87e | 1 | #include "mbed.h" |
JojoS | 0:e1e154fcc87e | 2 | #include "Adafruit_SSD1306.h" |
JojoS | 0:e1e154fcc87e | 3 | |
JojoS |
3:671cc904fce6 | 4 | // Pindefinitions for ezSBC2 or LPCXpresso |
JojoS | 0:e1e154fcc87e | 5 | |
JojoS | 0:e1e154fcc87e | 6 | // an SPI sub-class that provides a constructed default |
JojoS | 0:e1e154fcc87e | 7 | class SPI2 : public SPI |
JojoS | 0:e1e154fcc87e | 8 | { |
JojoS | 0:e1e154fcc87e | 9 | public: |
JojoS |
3:671cc904fce6 | 10 | SPI2(PinName mosi, PinName miso, PinName clk) : SPI(mosi, miso, clk) |
JojoS |
3:671cc904fce6 | 11 | { |
JojoS |
3:671cc904fce6 | 12 | format(8, 3); |
JojoS |
3:671cc904fce6 | 13 | frequency(2000000); |
JojoS |
3:671cc904fce6 | 14 | }; |
JojoS | 0:e1e154fcc87e | 15 | }; |
JojoS |
3:671cc904fce6 | 16 | |
JojoS | 0:e1e154fcc87e | 17 | // an I2C sub-class that provides a constructed default |
JojoS | 0:e1e154fcc87e | 18 | class I2C2 : public I2C |
JojoS | 0:e1e154fcc87e | 19 | { |
JojoS | 0:e1e154fcc87e | 20 | public: |
JojoS |
3:671cc904fce6 | 21 | I2C2(PinName sda, PinName scl) : I2C(sda, scl) |
JojoS |
3:671cc904fce6 | 22 | { |
JojoS |
3:671cc904fce6 | 23 | frequency(400000); |
JojoS |
3:671cc904fce6 | 24 | start(); |
JojoS |
3:671cc904fce6 | 25 | }; |
JojoS | 0:e1e154fcc87e | 26 | }; |
JojoS |
3:671cc904fce6 | 27 | |
JojoS |
3:671cc904fce6 | 28 | #ifdef LPC1347 |
JojoS |
3:671cc904fce6 | 29 | // ezSBC2 |
JojoS |
3:671cc904fce6 | 30 | DigitalOut ledRed(P1_16); |
JojoS |
3:671cc904fce6 | 31 | DigitalOut ledGreen(P1_15); |
JojoS | 0:e1e154fcc87e | 32 | |
JojoS | 0:e1e154fcc87e | 33 | I2C2 gI2C(P0_5, P0_4); |
JojoS | 0:e1e154fcc87e | 34 | Adafruit_SSD1306_I2c gOled2(gI2C, P0_21, 0x78, 64, 128); |
JojoS |
3:671cc904fce6 | 35 | // Adafruit_SSD1306_I2c gOled2(gI2C, P0_21, 0x78, 64, 128); // works only with mbed libs < version 86 |
JojoS |
3:671cc904fce6 | 36 | #else |
JojoS |
3:671cc904fce6 | 37 | // LPCXpresso1549 |
JojoS |
3:671cc904fce6 | 38 | DigitalOut ledRed(LED1); |
JojoS |
3:671cc904fce6 | 39 | DigitalOut ledGreen(LED2); |
JojoS |
3:671cc904fce6 | 40 | |
JojoS |
3:671cc904fce6 | 41 | I2C2 gI2C(P0_23, P0_22); |
JojoS |
3:671cc904fce6 | 42 | Adafruit_SSD1306_I2c gOled2(gI2C, P0_21, 0x78, 64, 128); |
JojoS |
3:671cc904fce6 | 43 | #endif |
JojoS |
3:671cc904fce6 | 44 | |
JojoS | 0:e1e154fcc87e | 45 | int main() |
JojoS |
3:671cc904fce6 | 46 | { |
JojoS |
3:671cc904fce6 | 47 | uint16_t x = 0; |
JojoS | 0:e1e154fcc87e | 48 | |
JojoS |
3:671cc904fce6 | 49 | //while(1) |
JojoS |
3:671cc904fce6 | 50 | { |
JojoS |
3:671cc904fce6 | 51 | ledRed = 1; |
JojoS |
3:671cc904fce6 | 52 | ledGreen = 0; |
JojoS |
3:671cc904fce6 | 53 | wait(0.5); |
JojoS | 0:e1e154fcc87e | 54 | |
JojoS |
3:671cc904fce6 | 55 | ledRed = 0; |
JojoS |
3:671cc904fce6 | 56 | ledGreen = 1; |
JojoS |
3:671cc904fce6 | 57 | wait(0.5); |
JojoS |
3:671cc904fce6 | 58 | } |
JojoS |
3:671cc904fce6 | 59 | |
JojoS |
3:671cc904fce6 | 60 | gOled2.clearDisplay(); |
JojoS |
3:671cc904fce6 | 61 | gOled2.display(); |
JojoS |
3:671cc904fce6 | 62 | |
JojoS |
3:671cc904fce6 | 63 | //gOled2.setTextCursor(1, 0); |
JojoS |
3:671cc904fce6 | 64 | gOled2.printf("%ux%u OLED Display\r\n", gOled2.width(), gOled2.height()); |
JojoS | 0:e1e154fcc87e | 65 | |
JojoS |
3:671cc904fce6 | 66 | while (1) |
JojoS |
3:671cc904fce6 | 67 | { |
JojoS |
3:671cc904fce6 | 68 | ledRed = !ledRed; |
JojoS |
3:671cc904fce6 | 69 | |
JojoS |
3:671cc904fce6 | 70 | gOled2.setTextCursor(0, 10); |
JojoS |
3:671cc904fce6 | 71 | gOled2.printf("%u\r", x); |
JojoS |
3:671cc904fce6 | 72 | gOled2.display(); |
JojoS | 0:e1e154fcc87e | 73 | |
JojoS |
3:671cc904fce6 | 74 | x++; |
JojoS |
3:671cc904fce6 | 75 | wait(1.0); |
JojoS |
3:671cc904fce6 | 76 | } |
JojoS |
3:671cc904fce6 | 77 | // AnalogOut sine(PA_4); |
JojoS |
3:671cc904fce6 | 78 | |
JojoS |
3:671cc904fce6 | 79 | |
JojoS | 0:e1e154fcc87e | 80 | } |