Improved version of Simon Ford's TextDisplay library, with addressing and timing fixes. Supports up to 20x4 text displays.
TextLCD.h
00001 /* mbed TextLCD Library Base Class 00002 * Copyright (c) 2007-2009 sford 00003 * Released under the MIT License: http://mbed.org/license/mit 00004 * Modified by Ned Konz to provide better support for 4-line LCDs and ones with other controller chips. 00005 */ 00006 #include "TextDisplay.h" 00007 00008 #ifndef MBED_TEXTLCD_H 00009 #define MBED_TEXTLCD_H 00010 00011 class TextLCD : public TextDisplay { 00012 public: 00013 TextLCD(PinName rs, PinName rw, PinName e, 00014 PinName d0, PinName d1, PinName d2, PinName d3, 00015 uint16_t rows = 2, uint16_t columns = 16); 00016 virtual void character(uint16_t column, uint16_t row, int c); 00017 virtual uint16_t rows() { return _rows; } 00018 virtual uint16_t columns() { return _columns; } 00019 virtual void reset(); 00020 virtual void cls(); 00021 00022 // locate, putc, printf come from parent class 00023 00024 protected: 00025 void writeByte(uint16_t value); 00026 void writeHalfByte(uint16_t value); 00027 void writeCommand(uint16_t command); 00028 void writeData(uint16_t data); 00029 uint16_t readAddressAndBusy(); 00030 void waitUntilDone(); 00031 00032 DigitalOut _rw, _rs, _e; 00033 BusInOut _d; 00034 uint16_t _rows, _columns; 00035 }; 00036 00037 #endif
Generated on Thu Jul 14 2022 21:44:21 by 1.7.2