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: ssd1289.cpp
- Revision:
- 22:4c169297f374
- Parent:
- 20:4bdca8d8dadc
--- a/ssd1289.cpp Sat Jan 26 02:55:46 2013 +0000 +++ b/ssd1289.cpp Sat Jan 26 04:36:46 2013 +0000 @@ -22,12 +22,10 @@ #include "ssd1289.h" #include "helpers.h" -SSD1289_LCD::SSD1289_LCD( PinName CS, PinName RESET, PinName RS, PinName WR, BusOut* DATA_PORT, PinName BL, PinName RD ) - : LCD( 240, 320, CS, RS, RESET ), _lcd_pin_wr( WR ) +SSD1289_LCD::SSD1289_LCD( PinName CS, PinName RESET, PinName RS, PinName WR, BusOut* DATA_PORT, PinName BL, PinName RD, backlight_t blType, float defaultBackLightLevel ) + : LCD( 240, 320, CS, RS, RESET, BL, blType, defaultBackLightLevel ), _lcd_pin_wr( WR ) { _lcd_port = DATA_PORT; - if ( BL != NC ) _lcd_pin_bl = new DigitalOut( BL ); - else _lcd_pin_bl = 0; if ( RD != NC ) _lcd_pin_rd = new DigitalOut( RD ); else _lcd_pin_rd = 0; } @@ -45,6 +43,8 @@ _lcd_pin_cs = HIGH; if ( _lcd_pin_bl != 0 ) *_lcd_pin_bl = HIGH; + else if ( _bl_pwm != 0 ) + *_bl_pwm = _bl_pwm_default; if ( _lcd_pin_rd != 0 ) *_lcd_pin_rd = HIGH; _lcd_pin_wr = HIGH; @@ -197,15 +197,13 @@ void SSD1289_LCD::Sleep( void ) { WriteCmdData( 0x10, 0x0001 ); // sleep mode: 0 = exit, 1 = enter - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = LOW; + LCD::Sleep(); } void SSD1289_LCD::WakeUp( void ) { WriteCmdData( 0x10, 0x0000 ); // sleep mode: 0 = exit, 1 = enter - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = HIGH; + LCD::WakeUp(); } void SSD1289_LCD::WriteCmd( unsigned short cmd )