Salve a tutti . Lo sketch in oggetto mi ripota i seguenti
errori:C:\Users\viani\Downloads\Photo_gallery\Photo_gallery.ino:16:33: error: no matching function for call to 'Adafruit_ImageReader::Adafruit_ImageReader(SdFat&)'
16 | Adafruit_ImageReader reader(SD); // oggetto da creare per la lettura
| ^
In file included from C:\Users\viani\Downloads\Photo_gallery\Photo_gallery.ino:5:
c:\Users\viani\Documents\Arduino\libraries\Adafruit_ImageReader_Library/Adafruit_ImageReader.h:97:3: note: candidate: 'Adafruit_ImageReader::Adafruit_ImageReader(FatVolume&)'
97 | Adafruit_ImageReader(FatVolume &fs);
| ^~~~~~~~~~~~~~~~~~~~
c:\Users\viani\Documents\Arduino\libraries\Adafruit_ImageReader_Library/Adafruit_ImageReader.h:97:35: note: no known conversion for argument 1 from 'SdFat' {aka 'SdFs'} to 'FatVolume&'
97 | Adafruit_ImageReader(FatVolume &fs);
| ~~~~~~~~~~~^~
c:\Users\viani\Documents\Arduino\libraries\Adafruit_ImageReader_Library/Adafruit_ImageReader.h:95:7: note: candidate: 'constexpr Adafruit_ImageReader::Adafruit_ImageReader(const Adafruit_ImageReader&)'
95 | class Adafruit_ImageReader {
| ^~~~~~~~~~~~~~~~~~~~
c:\Users\viani\Documents\Arduino\libraries\Adafruit_ImageReader_Library/Adafruit_ImageReader.h:95:7: note: no known conversion for argument 1 from 'SdFat' {aka 'SdFs'} to 'const Adafruit_ImageReader&'
Più di una libreria trovata per "SdFat.h"
Usata: C:\Users\viani\Documents\Arduino\libraries\SdFat
Non usata: C:\Users\viani\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\ESP8266SdFat
exit status 1
Compilation error: no matching function for call to 'Adafruit_ImageReader::Adafruit_ImageReader(SdFat&)'
Allegho il codice in cui c'è l'errore:
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <SdFat.h> // SD card & FAT filesystem
#include <Adafruit_SPIFlash.h> // SPI / QSPI flash library
#include <Adafruit_ImageReader.h> // Funzione per la lettura dell'immagine
#define USE_SD_CARD
#define TFT_CS D8 // Pin digitale CS Display TFT
#define TFT_DC D4 // Pin digitale DC Display TFT
#define SD_CS D2 // Pin digitale CS SD-Card
#if defined(USE_SD_CARD)
SdFat SD; // File system SD Card
Adafruit_ImageReader reader(SD); // oggetto da creare per la lettura
#else
// SPI o QSPI flash filesystem
#if defined(SAMD51) || defined(NRF52840_XXAA)
Adafruit_FlashTransport_QSPI flashTransport(PIN_QSPI_SCK, PIN_QSPI_CS,
PIN_QSPI_IO0, PIN_QSPI_IO1, PIN_QSPI_IO2, PIN_QSPI_IO3);
#else
#if (SPI_INTERFACES_COUNT == 1)
Adafruit_FlashTransport_SPI flashTransport(SS, &SPI);
#else
Adafruit_FlashTransport_SPI flashTransport(SS1, &SPI1);
#endif
#endif
Adafruit_SPIFlash flash(&flashTransport);
FatFileSystem filesys;
Adafruit_ImageReader reader(filesys);
#endif
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
Adafruit_Image img;
int32_t width = 0, height = 0;
void setup(void) {
ImageReturnCode stat; // Stato dalle funzioni di lettura delle immagini
Serial.begin(9600);
tft.begin(); // Avvio il display
Serial.print(F("Initializing filesystem..."));
#if defined(USE_SD_CARD)
//La scheda SD è piuttosto semplice, una sola chiamata...
if(!SD.begin(SD_CS, SD_SCK_MHZ(25))) {
Serial.println(F("SD begin() failed"));
for(;;); // Errore fatale, non continuare
}
#else
// Il flash SPI o QSPI richiede due passaggi, uno per accedere alla stessa memoria flash
// il secondo per accedere al file system della memoria
if(!flash.begin()) {
Serial.println(F("flash begin() failed"));
for(;;);
}
if(!filesys.begin(&flash)) {
Serial.println(F("filesys begin() failed"));
for(;;);
}
#endif
Serial.println(F("OK!"));
tft.setRotation(2); // Ruoto il display
tft.fillScreen(ILI9341_BLUE); // Coloro di blu il display
delay(2000);
tft.fillScreen(0); // Pulisco lo schermo
}
void loop() {
reader.drawBMP("/01.bmp", tft, 0, 0); // Leggo l'immagine BMP
delay (1000);
img.draw(tft,240,320); // Scrivo l'immagine BMP con risoluzione 240x320
delay(3000);
reader.drawBMP("/02.bmp", tft, 0, 0);
delay (1000);
img.draw(tft,240,320);
delay(3000);
reader.drawBMP("/03.bmp", tft, 0, 0);
delay (1000);
img.draw(tft,240,320);
delay(3000);
reader.drawBMP("/04.bmp", tft, 0, 0);
delay (1000);
img.draw(tft,240,320);
delay(3000);
}
Ringrazio in anticipo per l'eventuale aiuto.
P.S. è una cornice digitale Use code tags to format code for the forum.
Mi scuso per l'errore ,ho seguito le istruzioni spero di aver fatto bene,dai prossimi post cercherò di seguire il regolamento .Grazie.