
Program 2d_2 obsługujący wyświetlacz LCD
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Diff: Led_Lcd.cpp
- Revision:
- 0:aa756e4665e5
- Child:
- 1:bb8bfbe63b08
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Led_Lcd.cpp Mon Jun 01 20:23:36 2020 +0000 @@ -0,0 +1,32 @@ +#include "Led_Lcd.h" + +#define LENGTH_SIDE_SQUARE 80 + +DigitalOut myled(LED1); + +LedLcd::LedLcd(unsigned char ucColumnNr){ + lcd.Clear(LCD_COLOR_BLACK); + lcd.SetFont(&Font24); + square_x_pos = ucColumnNr * LENGTH_SIDE_SQUARE; +} + +void LedLcd::On(unsigned char uLedLcdNumber){ + char cText[2] = {'0'}; + char *pText = cText; + + for(unsigned char ucSquareCounter = 0; ucSquareCounter <= 3; ucSquareCounter++){ + *pText += 1; + lcd.SetTextColor(LCD_COLOR_GREEN); + lcd.DrawRect(square_x_pos, ucSquareCounter * LENGTH_SIDE_SQUARE, LENGTH_SIDE_SQUARE, LENGTH_SIDE_SQUARE); + if(ucSquareCounter == uLedLcdNumber){ + lcd.SetTextColor(LCD_COLOR_MAGENTA); + } + else{ + lcd.SetTextColor(LCD_COLOR_BLUE); + } + lcd.FillRect(square_x_pos + 1, ucSquareCounter * LENGTH_SIDE_SQUARE + 1, LENGTH_SIDE_SQUARE - 2, LENGTH_SIDE_SQUARE - 2); + lcd.SetBackColor(LCD_COLOR_RED); + lcd.SetTextColor(LCD_COLOR_WHITE); + lcd.DisplayStringAt(square_x_pos, ucSquareCounter * LENGTH_SIDE_SQUARE, (uint8_t *)pText, LEFT_MODE); + } +}