Code to run the cheap 2.4" TFT made by mcufriend.com on the STM nucleo. No modifications required, this plugs into the arduino header.
Dependents: ST7735_V2_STM32F407
Fork of TFTLCD_8bit by
Diff: st7735.cpp
- Revision:
- 22:4c169297f374
- Parent:
- 20:4bdca8d8dadc
--- a/st7735.cpp Sat Jan 26 02:55:46 2013 +0000 +++ b/st7735.cpp Sat Jan 26 04:36:46 2013 +0000 @@ -22,11 +22,9 @@ #include "st7735.h" #include "helpers.h" -ST7735_LCD::ST7735_LCD( PinName CS, PinName RESET, PinName RS, PinName SCL, PinName SDA, PinName BL ) - : LCD( 128, 160, CS, RS, RESET ), _lcd_pin_scl( SCL ), _lcd_pin_sda( SDA ) +ST7735_LCD::ST7735_LCD( PinName CS, PinName RESET, PinName RS, PinName SCL, PinName SDA, PinName BL, backlight_t blType, float defaultBackLightLevel ) + : LCD( 128, 160, CS, RS, RESET, BL, blType, defaultBackLightLevel ), _lcd_pin_scl( SCL ), _lcd_pin_sda( SDA ) { - if ( BL != NC ) _lcd_pin_bl = new DigitalOut( BL ); - else _lcd_pin_bl = 0; } void ST7735_LCD::Initialize( orientation_t orientation, colordepth_t colors ) @@ -46,6 +44,8 @@ _lcd_pin_sda = HIGH; if ( _lcd_pin_bl != 0 ) *_lcd_pin_bl = HIGH; + else if ( _bl_pwm != 0 ) + *_bl_pwm = _bl_pwm_default; wait_ms( 55 ); Activate(); @@ -181,8 +181,7 @@ wait_ms( 10 ); WriteCmd( 0x10 ); wait_ms( 125 ); - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = LOW; + LCD::Sleep(); Deactivate(); } @@ -193,8 +192,7 @@ wait_ms( 10 ); WriteCmd( 0x11 ); wait_ms( 125 ); - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = HIGH; + LCD::WakeUp(); Deactivate(); }