Compiler-Verhalten

Hallo,
ich habe ein, für mich, merkwürdiges Verhalten des Compilers festgestellt.

Ich möchte einen Raspberry Pico mit diesem Display betreiben.
Display: TFT-LCD-Display, 2.2", 320 x 240 Pixel, RGB Farbdisplay günstig online kaufen | Funduinoshop
Verwendete Library: Adafruit_ILI9341
Arduino IDE 2.1.1
Programm zum Testen aus Beispielen: ILI9341/graphicstest
Wenn ich den Compiler auf den Pico einstelle, läuft er fehlerfrei durch, aber es funktioniert nicht.
Wenn ich Compiler jedoch auf den Arduino RP2040 einstelle dann funktioniert es.
Vielleicht kann mir das jemand erklären?
Wo sind die Unterschiede zwischen Arduino RP2040 und Pico beim Compilieren?
mit Dank und Gruß
Rainer

Nicht das die haben andere Pinbelegung, und die SPI Pins werden umgeschrieben,
die haben doch mehrere SPI also es kan sein das bei einem ist SPI1 an den Pins und auf dem anderem SPI 0.
Der ESp32 hat auch 2 SPI, je nach dem welschen Port man nimt muss man dem Compiler sagen was man genommen hat, Standard wird der erster Port genommen teste das unten bei beiden Boards :wink:
Ser Mon zeigt dir die Standard Pins

#include "SPI.h"
void setup() {
  Serial.begin(9600);
  Serial.println ("***** SPI Pins *****");
  Serial.print(" MOSI = ");
  Serial.println (MOSI);
  Serial.print(" MISO = ");
  Serial.println (MISO);
  Serial.print(" SCK = ");
  Serial.println(SCK);
  Serial.println("");
  Serial.println ("***** I2C Pins *****");
  Serial.print(" SDA = ");
  Serial.println (SDA);
  Serial.print(" SCL = ");
  Serial.println (SCL);


}

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

}

Wie immer....

  1. Code geheim
  2. Genaue Einstellung geheim
  3. Schaltplan geheim

Also im Glaskugelmodus:
Schaue in die jeweiligen Variant Dateien.

Hallo Combie,

  1. Code nicht geheim!
    Wie in meiner Frage beschrieben, ist der Code das Beispielprogramm "graphicstest" aus der ILI9341 library.
  2. Genaue Einstellungen? Ich habe die IDE installiert, und die Installation für den PICO und NANO RP2040 gemacht. Ich wüßte nicht, dass ich in den Grundeinstellung, oder gar in den includes was verbogen habe. Dazu bin ich noch viel zu neu in diesem Thema.
  3. Schaltplan
    Verdrahtung reiche ich hiermit nach.
    |Display |PI Pico |
    |Port|PIN|Port|PIN|
    |Vcc |1 |3,3V|36!|
    |GND|2 |GND| 3|
    |CS |3 |GP 5| 7|
    |Rst |4 |RUN|30 |
    |DC |5 |GP21|27|
    |Mosi| 6|GP7 | 10|
    |CLK |7 |GP06| 9|
    |LED|8 |3,3V | 37|
    |Miso|9 |GP4 |6 |

Hallo fony,
wenn ich versuche Dein Programm zu compilieren bekomme ichvolgende Fehlermeldung:

C:\Users\baa\AppData\Local\Temp\.arduinoIDE-unsaved2023721-3484-14bcvur.fva9h\sketch_aug21a\sketch_aug21a.ino: In function 'void setup()':
C:\Users\baa\AppData\Local\Temp\.arduinoIDE-unsaved2023721-3484-14bcvur.fva9h\sketch_aug21a\sketch_aug21a.ino:14:19: error: 'SDA' was not declared in this scope
   Serial.println (SDA);
                   ^~~
C:\Users\baa\AppData\Local\Temp\.arduinoIDE-unsaved2023721-3484-14bcvur.fva9h\sketch_aug21a\sketch_aug21a.ino:16:19: error: 'SCL' was not declared in this scope
   Serial.println (SCL);
                   ^~~
C:\Users\baa\AppData\Local\Temp\.arduinoIDE-unsaved2023721-3484-14bcvur.fva9h\sketch_aug21a\sketch_aug21a.ino:16:19: note: suggested alternative: 'SCK'
   Serial.println (SCL);
                   ^~~
                   SCK

exit status 1

Compilation error: 'SDA' was not declared in this scope

Ich hatte schon versucht in den includes mal zu schauen was da drin steht. Aber das artete zu einer nicht endenden Schnitzeljagt aus, da in jedem include weitere includiert werden.

Gruß
Rainer

Komisch das funktioniert mit Arduino, ESP.
dann werfe die I2C Geschichte raus.
Heute schon alle eingepackt morgen kann ich zeigen die Ausgabe auf Serial Monitor

Hallo Fony,
ich habe Deine Code mal so umgebastelt:

#include "SPI.h"
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println ("***** SPI Pins *****");
  Serial.print(" MOSI = ");
  Serial.println (PIN_SPI_MOSI);
  Serial.print(" MISO = ");
  Serial.println (PIN_SPI_MISO);
  Serial.print(" SCK = ");
  Serial.println(PIN_SPI_SCK);
  Serial.println("");
  Serial.println ("***** I2C Pins *****");
  Serial.print(" SDA = ");
  Serial.println (PIN_WIRE_SDA);
  Serial.print(" SCL = ");
  Serial.println (PIN_WIRE_SCL);
}

Compiler PICO

image

Compiler ARD RP 2040
image

O.K daher kommt es also.
Dank für Deine Hilfe
Rainer

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.