• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
3.2" TFTLCD Shield for Arduino Mega2560
#2
Big Grin 
Muszę sam sobie odpowiedzieć jak rozwiązałem problem  Smile

Tak na poważnie chcę przekazać innym którzy będą się borykać z tym problemem rozwiązanie.

Co prawda nie udało mi się zmusić do wczytania plików graficznych BMP do wyświetlacza
ale udało mi się to zrobić wczytując pliki graficzne RAW.

Jest przy tym pewna zaleta bo ponoć ten format szybciej się ładuje na wyświetlacz.

Dołączam oczywiście kod dla tego rozwiązania:

Kod:
// Draw SDCard Raw

#include <TFT_HX8357.h>      
TFT_HX8357 tft = TFT_HX8357();

#include <SD.h>
#define SDC_CS 53

// ---------------------- Ustawienia programu ------------------------
void setup()
{
 Serial.begin(9600);
 delay(1000);

 tft.init();
 tft.setRotation(3);
 tft.fillScreen(TFT_BLACK);

 Serial.print("Initiation SD Card...");
 if (!SD.begin(SDC_CS)) Serial.println("Failed!");
 else Serial.println("OK!");

 drawRAW("480Mouse.raw", 0, 0, 480, 320);
 delay(1000);
}

// ------------------------ Pętla główna ------------------------------
void loop()
{
}

// ---------------------- Bitmap functions ---------------------------

#define RBUFF_SIZE 256

void drawRAW(char *filename, int16_t x, int16_t y, int16_t rawWidth, int16_t rawHeight)
{
 File     rawFile;
 uint8_t  sdbuffer[2 * RBUFF_SIZE];  

 Serial.println(filename);  

 if ((rawFile = SD.open(filename)) == NULL)
 {
   Serial.println(" File not found");
   return;
 }

 tft.setWindow(x, y, x + rawWidth - 1, y + rawHeight - 1);

 uint16_t nr = ((long)rawHeight * rawWidth)/RBUFF_SIZE;
 while(nr--)
 {
   rawFile.read(sdbuffer, sizeof(sdbuffer));
   tft.pushColors(sdbuffer, RBUFF_SIZE);
 }

 nr = ((long)rawHeight * rawWidth)%RBUFF_SIZE;
 if (nr) {
   rawFile.read(sdbuffer, nr<<1);
   tft.pushColors(sdbuffer, nr);  
 }

 rawFile.close();
}

Pliki graficzne przygotowałem sobie konwerterem: ImageConverter 565 v2.3

Pzdr.
Jeżeli pomogłem, to poproszę o punkt reputacji Big Grin
 
Odpowiedź
  


Wiadomości w tym wątku
3.2" TFTLCD Shield for Arduino Mega2560 - przez ANT - 10-11-2017, 20:16
RE: 3.2" TFTLCD Shield for Arduino Mega2560 - przez ANT - 11-11-2017, 20:13

Skocz do:


Przeglądający: 1 gości