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.cpp
- Revision:
- 1:14bef43daf6f
- Parent:
- 0:881ff0b71102
- Child:
- 2:81ed304b7e9b
--- a/lcd_base.cpp Sat Dec 01 19:38:53 2012 +0000 +++ b/lcd_base.cpp Sat Dec 01 23:49:10 2012 +0000 @@ -70,7 +70,7 @@ _lcd_pin_cs = LOW; clearXY(); _lcd_pin_rs = HIGH; - for ( int i = 0; i < ( ( _disp_width + 1 ) * ( _disp_height + 1 ) ); i++ ) + for ( int i = 0; i < ( ( _disp_width ) * ( _disp_height ) ); i++ ) writeData( rgb ); _lcd_pin_cs = HIGH; } @@ -332,16 +332,16 @@ if ( _orientation == PORTRAIT ) { if ( x == RIGHT ) - x = ( _disp_width + 1 ) - ( stl * _font.width ); + x = _disp_width - ( stl * _font.width ); if ( x == CENTER ) - x = ( ( _disp_width + 1 ) - ( stl * _font.width ) ) / 2; + x = ( _disp_width - ( stl * _font.width ) ) / 2; } else { if ( x == RIGHT ) - x = ( _disp_height + 1 ) - ( stl * _font.width ); + x = _disp_height - ( stl * _font.width ); if ( x == CENTER ) - x = ( ( _disp_height + 1 ) - ( stl * _font.width ) ) / 2; + x = ( _disp_height - ( stl * _font.width ) ) / 2; } for ( i = 0; i < stl; i++ ) @@ -489,9 +489,9 @@ void LCD::clearXY() { if ( _orientation == PORTRAIT ) - setXY( 0, 0, _disp_width, _disp_height ); + setXY( 0, 0, _disp_width - 1, _disp_height - 1 ); else - setXY( 0, 0, _disp_height, _disp_width ); + setXY( 0, 0, _disp_height - 1, _disp_width - 1 ); } void LCD::drawHLine( unsigned short x, unsigned short y, unsigned short len, int color )