Example of library ST7565SPI: Driver library for ST7565 graphics LCD controller over SPI interface.

Dependencies:   ST7565SPI mbed

Committer:
kayekss
Date:
Sun Mar 01 19:30:56 2015 +0000
Revision:
0:d53b674e7f03
Example of library ST7565SPI: Driver library for ST7565 graphics LCD controller over SPI interface.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kayekss 0:d53b674e7f03 1 #include "mbed.h"
kayekss 0:d53b674e7f03 2 #include "ST7565SPI.h"
kayekss 0:d53b674e7f03 3
kayekss 0:d53b674e7f03 4 ST7565SPI lcd(/*MOSI*/ p5, /*SCK*/ p7, /*CS*/ p8,
kayekss 0:d53b674e7f03 5 /*RS*/ p11, /*RST*/ p12, /*Frequency*/ 1000000);
kayekss 0:d53b674e7f03 6
kayekss 0:d53b674e7f03 7 // Dithered gray patterns
kayekss 0:d53b674e7f03 8 uint8_t const pattern[8][4] = {
kayekss 0:d53b674e7f03 9 { 0xff, 0xff, 0xff, 0xff }, // 100%
kayekss 0:d53b674e7f03 10 { 0x77, 0xff, 0xdd, 0xff }, // 87.5%
kayekss 0:d53b674e7f03 11 { 0x55, 0xff, 0x55, 0xff }, // 75%
kayekss 0:d53b674e7f03 12 { 0x55, 0xbb, 0x55, 0xee }, // 62.5%
kayekss 0:d53b674e7f03 13 { 0x55, 0xaa, 0x55, 0xaa }, // 50%
kayekss 0:d53b674e7f03 14 { 0x55, 0x22, 0x55, 0x88 }, // 37.5%
kayekss 0:d53b674e7f03 15 { 0x55, 0x00, 0x55, 0x00 }, // 25%
kayekss 0:d53b674e7f03 16 { 0x11, 0x00, 0x44, 0x00 } // 12.5%
kayekss 0:d53b674e7f03 17 };
kayekss 0:d53b674e7f03 18
kayekss 0:d53b674e7f03 19 int main(void) {
kayekss 0:d53b674e7f03 20 // Initialize LCD
kayekss 0:d53b674e7f03 21 lcd.init(/*V0*/ 3, /*Contrast*/ 48, /*Bias*/ ST7565SPI::Bias1_9);
kayekss 0:d53b674e7f03 22
kayekss 0:d53b674e7f03 23 // Draw horizontal stripes
kayekss 0:d53b674e7f03 24 for (uint8_t j = 0; j < 8; j++) {
kayekss 0:d53b674e7f03 25 lcd.setPage(j);
kayekss 0:d53b674e7f03 26 lcd.setColumn(0);
kayekss 0:d53b674e7f03 27 for (uint8_t i = 0; i < 128 / 4; i++) {
kayekss 0:d53b674e7f03 28 lcd.data(pattern[j][0]);
kayekss 0:d53b674e7f03 29 lcd.data(pattern[j][1]);
kayekss 0:d53b674e7f03 30 lcd.data(pattern[j][2]);
kayekss 0:d53b674e7f03 31 lcd.data(pattern[j][3]);
kayekss 0:d53b674e7f03 32 }
kayekss 0:d53b674e7f03 33 }
kayekss 0:d53b674e7f03 34
kayekss 0:d53b674e7f03 35 // Scroll entire display by changing line offset values
kayekss 0:d53b674e7f03 36 uint8_t c = 0;
kayekss 0:d53b674e7f03 37 while (1) {
kayekss 0:d53b674e7f03 38 lcd.command(ST7565SPI::COMMON_OFFSET + c);
kayekss 0:d53b674e7f03 39 if (c == 0) {
kayekss 0:d53b674e7f03 40 c = 63;
kayekss 0:d53b674e7f03 41 } else {
kayekss 0:d53b674e7f03 42 c--;
kayekss 0:d53b674e7f03 43 }
kayekss 0:d53b674e7f03 44 wait(.25);
kayekss 0:d53b674e7f03 45 }
kayekss 0:d53b674e7f03 46 }