mcufriend 2.4 TFT LCD Shield Lib
Dependents: Nucleo_LCD_mcufriend_test
Fork of 24_TFT_STMNUCLEO by
mcufriend 2.4" TFT LCD Shield
Import program
00001 #include "mbed.h" 00002 #include "ili9328.h" 00003 00004 // prepare the data bus for writing commands and pixel data 00005 BusOut dataBus( D8, D9, D2, D3, D4, D5, D6, D7 ); // 8 pins 00006 // create the lcd instance 00007 ILI9328_LCD lcd( A3, A4, A2,A1, &dataBus, NC, A0); // control pins and data bus 00008 //ILI9328_LCD( CS, RESET, RS, WR, BusOut* DATA_PORT, PinName BL = NC, RD ); 00009 00010 int main() 00011 { 00012 int ii,height,width; 00013 00014 height = lcd.GetHeight(); 00015 width = lcd.GetWidth(); 00016 // initialize display - place it in standard portrait mode and set background to black and 00017 // foreground to white color. 00018 lcd.Initialize(); 00019 00020 // print something on the screen 00021 lcd.Print( "Hello, World!", CENTER, 50); // align text to center horizontally and use starndard colors 00022 00023 wait(2); 00024 00025 lcd.ClearScreen(); 00026 00027 for(ii=0;ii<width;ii++) 00028 { 00029 lcd.DrawLine(0, 0, height, ii,COLOR_GREEN); 00030 ii = ii+10; 00031 } 00032 wait(2); 00033 00034 lcd.DrawCircle(height/4, width/4, 20, COLOR_GREEN); 00035 wait(2); 00036 00037 lcd.FillCircle(height/2, width/2, 50, COLOR_GREEN); 00038 wait(2); 00039 00040 lcd.FillTriangle(height/4, width/4,(height/4)+20, (width/4)+40,(height/4)-20, (width/4)+40, COLOR_RED); 00041 00042 while ( 1 ) { } 00043 }
HW information about the mcufriend LCD Shield
Diff: lcd_base.h
- Revision:
- 4:3ac4239f6c9c
- Parent:
- 3:64a5b67d5b51
- Child:
- 5:09b6d228ceea
--- a/lcd_base.h Sun Dec 02 01:44:23 2012 +0000 +++ b/lcd_base.h Sun Dec 02 05:44:52 2012 +0000 @@ -120,11 +120,40 @@ * or produce garbage. * * This function is controller-specific and needs to be implemented - * separately for each available implementation. + * separately for each available display. * \param oritentation The display orientation, landscape is default. */ virtual void Initialize( orientation_t orientation ) = 0; + /** Puts the display to sleep. + * + * When the display is in sleep mode, its power consumption is + * minimized. Before new pixel data can be written to the display + * memory, the controller needs to be brought out of sleep mode. + * \sa #WakeUp( void ); + * \remarks The result of this operation might not be exactly as + * expected. Putting the display to sleep will cause the + * controller to switch to the standard color of the LCD, + * so depending on whether the display is normally white, + * or normally dark, the screen might or might not go + * dark. Additional power saving can be achieved, if + * the backlight of the used display is not hardwired on + * the PCB and can be controlled via the BL pin. + * \remarks This function is controller-specific and needs to be + * implemented separately for each available display. + */ + virtual void Sleep( void ) = 0; + + /** Wakes up the display from sleep mode. + * + * This function needs to be called before any other, when the + * display has been put into sleep mode by a previois call to + * #Sleep( void ). + * \remarks This function is controller-specific and needs to be + * implemented separately for each available display. + */ + virtual void WakeUp( void ) = 0; + /** Set the foreground color for painting. * * This is the default foreground color to be used in painting operations. @@ -312,8 +341,21 @@ * \param height Height of the display in pixels. * \param CS Pin connected to the CS input of the display. * \param RS Pin connected to the RS input of the display. + * \param RESET Pin connected to the RESET input of the display. */ - LCD( unsigned short width, unsigned short height ,PinName CS, PinName RS ); + LCD( unsigned short width, unsigned short height ,PinName CS, PinName RS, PinName RESET ); + + /** Activates the display for command/data transfer. + * + * Usually achieved by pulling the CS pin of the display low. + */ + virtual void Activate( void ); + + /** Deactivates the display after data has been transmitted. + * + * Usually achieved by pulling the CS pin of the display high. + */ + virtual void Deactivate( void ); /** Sends a command to the display. * @@ -416,11 +458,11 @@ virtual void RotateChar( char c, unsigned short x, unsigned short y, int pos, int fgColor = -2, int bgColor = -1, unsigned short deg = 0 ); protected: - unsigned short _disp_width, _disp_height; - DigitalOut _lcd_pin_cs, _lcd_pin_rs; - orientation_t _orientation; - unsigned short _foreground, _background; - font_metrics_t _font; + unsigned short _disp_width, _disp_height; + DigitalOut _lcd_pin_cs, _lcd_pin_rs, _lcd_pin_reset; + orientation_t _orientation; + unsigned short _foreground, _background; + font_metrics_t _font; }; #endif /* TFTLCD_BASE_H */