This sketch prints "Hello World!" to the LCD and uses the scrollDisplayLeft() and scrollDisplayRight() methods to scroll the text.
Dependencies: Hotboards_SpiLcd mbed
Diff: main.cpp
- Revision:
- 0:bd5a3c76e81f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Feb 02 22:17:34 2016 +0000 @@ -0,0 +1,82 @@ +/* + LiquidCrystal Library - scrollDisplayLeft() and scrollDisplayRight() + Demonstrates the use a 16x2 LCD display. The Hotboards_SpiLcd + library works with all LCD displays that are compatible with the + ST7032 driver presented on Spi Lcd board (http://www.hotboards.org). + This sketch prints "Hello World!" to the LCD and uses the + scrollDisplayLeft() and scrollDisplayRight() methods to scroll + the text. + The circuit: + * BKL --> GND + * VDD --> 3.3v + * GND --> GND + * SCK --> PA_5 + * SI --> PA_6 + * CS --> PB_15 + * RS --> PB_14 + * RST --> PB_13 + Library and example ported by Diego from Hotboards and originally created + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + modified 22 Nov 2010 + by Tom Igoe + */ + +#include "mbed.h" +#include "Hotboards_SpiLcd.h" + +/* initialize an instance of SPI bus,setting the SPI pins*/ +SPI device(PA_7,PA_6,PA_5); /* SO, SI, SCK*/ +/* initialize the library with the numbers of the interface pins*/ +Hotboards_SpiLcd display( device, PB_15, PB_14, PB_13 ); /* SPI, CS, RS, RST */ + + +int main() +{ + /* set the spi frequency to 5MHz*/ + device.frequency(5000000); + /* initialize internal lcd controller:*/ + display.init(); + // Print a message to the LCD. + display.printf("hello, world!"); + wait(1); + + while(1) + { + // scroll 13 positions (string length) to the left + // to move it offscreen left: + for (int positionCounter = 0; positionCounter < 13; positionCounter++) + { + // scroll one position left: + display.scrollDisplayLeft(); + // wait a bit: + wait(0.2); + } + + // scroll 29 positions (string length + display length) to the right + // to move it offscreen right: + for (int positionCounter = 0; positionCounter < 29; positionCounter++) + { + // scroll one position right: + display.scrollDisplayRight(); + // wait a bit: + wait(0.2); + } + + // scroll 16 positions (display length + string length) to the left + // to move it back to center: + for (int positionCounter = 0; positionCounter < 16; positionCounter++) + { + // scroll one position left: + display.scrollDisplayLeft(); + // wait a bit: + wait(0.2); + } + + // delay at the end of the full loop: + wait(1); + } +}