Uno Wifi Rev.2

Hallo zusammen

Habe dieses Board (Original) und möchte es mit einem 1.8"TFT betreiben.
Der nachfolgende Code läuft auf einem “normalen” Uno ohne Probleme.
Wenn ich den gleichen Code dann auf das Wifi-Board spielen will, kommen Errors.

Wo könnte der Fehler liegen?

//#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
#include <SPI.h>

  #define TFT_CS        10
  #define TFT_RST        9 // Or set to -1 and connect to Arduino RESET pin
  #define TFT_DC         8

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

float p = 3.1415926;

void setup(void) {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial.print(F("Hello! ST77xx TFT Test"));

  tft.initR(INITR_BLACKTAB);      // Init ST7735S chip, black tab

  Serial.println(F("Initialized"));

  uint16_t time = millis();
  tft.fillScreen(ST77XX_BLACK);
  time = millis() - time;

  Serial.println(time, DEC);
  delay(500);

  tft.fillScreen(ST77XX_BLACK);
  tftPrintTest();
  delay(1000);

}

void loop() {
  // put your main code here, to run repeatedly:
  tftPrintTest1();

}
void testdrawtext(char *text, uint16_t color) {
  tft.setCursor(0, 0);
  tft.setTextColor(color);
  tft.setTextWrap(true);
  tft.print(text);
}
void tftPrintTest() {
  tft.setTextWrap(false);
  tft.setCursor(0, 0);
  tft.setTextColor(ST77XX_YELLOW, ST77XX_BLACK);
  tft.setTextSize(2);
  tft.println("Temperatur:");
  tft.setCursor(0, 45);
  tft.setTextColor(ST77XX_GREEN, ST77XX_BLACK);
  tft.setTextSize(2);
  tft.println("Humidity:");
  tft.setCursor(0, 90);
  tft.setTextColor(ST77XX_BLUE, ST77XX_BLACK);
  tft.setTextSize(2);
  tft.println("Motor:");

}
void tftPrintTest1() {
  tft.setTextWrap(false);
  tft.setCursor(0, 20);
  tft.setTextColor(ST77XX_RED, ST77XX_WHITE);
  tft.setTextSize(2);
  tft.println("Temp");
  tft.setCursor(0, 65);
  tft.setTextColor(ST77XX_RED, ST77XX_WHITE);
  tft.setTextSize(2);
  tft.println("Humy");
  tft.setCursor(0, 110);
  tft.setTextColor(ST77XX_RED, ST77XX_WHITE);
  tft.setTextSize(2);
  tft.println("%");
  delay(5000);
}

Mit bestem Dank

Martin

Welche Errors kommen ?

uild-Optionen wurden verändert, alles wird neu kompiliert
In file included from C:\Users\Martin\Documents\Arduino\libraries\Adafruit_ST7735_and_ST7789_Library/Adafruit_ST77xx.h:31:0,

                 from C:\Users\Martin\Documents\Arduino\libraries\Adafruit_ST7735_and_ST7789_Library/Adafruit_ST7735.h:4,

                 from C:\Users\Martin\Documents\Arduino\tfttest\tfttest.ino:2:

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h:31:19: error: conflicting declaration 'typedef uint8_t PORT_t'

  typedef uint8_t  PORT_t;            ///< PORT values are 8-bit

                   ^~~~~~

In file included from c:\users\martin\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\io.h:677:0,

                 from c:\users\martin\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\pgmspace.h:90,

                 from C:\Users\Martin\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.1\cores\arduino/api/String.h:30,

                 from C:\Users\Martin\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.1\cores\arduino/api/Print.h:24,

                 from C:\Users\Martin\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.1\cores\arduino/api/Stream.h:25,

                 from C:\Users\Martin\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.1\cores\arduino/api/Client.h:22,

                 from C:\Users\Martin\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.1\cores\arduino/api/ArduinoAPI.h:29,

                 from C:\Users\Martin\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.1\cores\arduino/Arduino.h:23,

                 from sketch\tfttest.ino.cpp:1:

c:\users\martin\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\iom4809.h:1093:3: note: previous declaration as 'typedef struct PORT_struct PORT_t'

 } PORT_t;

   ^~~~~~

In file included from C:\Users\Martin\Documents\Arduino\libraries\Adafruit_ST7735_and_ST7789_Library/Adafruit_ST77xx.h:31:0,

                 from C:\Users\Martin\Documents\Arduino\libraries\Adafruit_ST7735_and_ST7789_Library/Adafruit_ST7735.h:4,

                 from C:\Users\Martin\Documents\Arduino\tfttest\tfttest.ino:2:

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h: In member function 'void Adafruit_SPITFT::SPI_CS_HIGH()':

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h:285:19: error: no match for 'operator|=' (operand types are 'volatile PORT_t {aka volatile PORT_struct}' and 'PORT_t {aka PORT_struct}')

         *csPort   |= csPinMaskSet;

         ~~~~~~~~~~^~~~~~~~~~~~~~~

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h: In member function 'void Adafruit_SPITFT::SPI_CS_LOW()':

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h:307:19: error: no match for 'operator&=' (operand types are 'volatile PORT_t {aka volatile PORT_struct}' and 'PORT_t {aka PORT_struct}')

         *csPort   &= csPinMaskClr;

         ~~~~~~~~~~^~~~~~~~~~~~~~~

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h: In member function 'void Adafruit_SPITFT::SPI_DC_HIGH()':

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h:326:19: error: no match for 'operator|=' (operand types are 'volatile PORT_t {aka volatile PORT_struct}' and 'PORT_t {aka PORT_struct}')

         *dcPort   |= dcPinMaskSet;

         ~~~~~~~~~~^~~~~~~~~~~~~~~

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h: In member function 'void Adafruit_SPITFT::SPI_DC_LOW()':

C:\Users\Martin\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h:345:19: error: no match for 'operator&=' (operand types are 'volatile PORT_t {aka volatile PORT_struct}' and 'PORT_t {aka PORT_struct}')

         *dcPort   &= dcPinMaskClr;

         ~~~~~~~~~~^~~~~~~~~~~~~~~

Mehrere Bibliotheken wurden für "Adafruit_ST7735.h" gefunden
 Benutzt: C:\Users\Martin\Documents\Arduino\libraries\Adafruit_ST7735_and_ST7789_Library
 Nicht benutzt: C:\Users\Martin\Documents\Arduino\libraries\Adafruit-ST7735-Library-master
exit status 1
Fehler beim Kompilieren für das Board Arduino Uno WiFi Rev2.

Du hast mindestens eine Lib in mehreren Versionen installiert.

Mehrere Bibliotheken wurden für "Adafruit_ST7735.h" gefunden
Benutzt: C:\Users\Martin\Documents\Arduino\libraries\Adafruit_ST7735_and_ST7789_Library
Nicht benutzt: C:\Users\Martin\Documents\Arduino\libraries\Adafruit-ST7735-Library-master
exit status 1

Wird vielleicht die falsche automatisch ausgewählt?

An dem liegt es leider nicht.

Das Problem muss irgendwie mit der GFX.h zusammenhängen.

Sobald ich diesen in einem Sketch aktiviere, läuft er nicht mehr richtig

Darter69:
An dem liegt es leider nicht.

Das Problem muss irgendwie mit der GFX.h zusammenhängen.

Sobald ich diesen in einem Sketch aktiviere, läuft er nicht mehr richtig

Könnte mir vorstellen, dass diese nicht kompatibel zum Controller ist.

Die GFX ist nicht kompatibel zum Controller.

Habe eine andere Bibliothek gefunden (TFT.h), die macht beim Compilieren keine Probleme, aber Angezeigt wird nichts.

Also muss das Projekt TFT bei diesem Controller noch warten.

Danke allen für die Mühe

Gruss

Martin