Forum: Mikrocontroller und Digitale Elektronik Arduino / OLED lässt sich nicht einbinden


von Thomas H. (Gast)


Lesenswert?

HAllo Alle,
habe mir für ein UNO ein OLED gekauft, mit welchem ich mich seit Tagen 
rumärger...Die Libraries von Adafruit funktionieren - die schöne 
Animation von denen auch- schön schön.
Beim selber coden kriege ich immer folgenden Fehlercode:
missing binary operator before token "#"

bezogen auf folgende Zeile:
#if (SSD1306_LCDHEIGHT != 64)  #error("Height incorrect, please fix 
Adafruit_SSD1306.h!");  //Standard Bug überschreiben

Wer weiß Rat?
Gruß T

von Einer K. (Gast)


Lesenswert?

Bitte C Buch aufschlagen.
Bereich Präprozessor...
Und mal kundig machen, wieviele Präprozessorstatements pro Zeile notiert 
werden dürfen.

von Dieter F. (Gast)


Lesenswert?

Thomas H. schrieb:
> OLED

Was für eines?

128 * 32
128 * 64
 96 * 16

Je nachdem musst Du in der Adafruit_SSD1306.h das Define anpassen
1
   -----------------------------------------------------------------------*/
2
//   #define SSD1306_128_64
3
   #define SSD1306_128_32
4
//   #define SSD1306_96_16
5
/*=========================================================================*/

steht per Default auf 128 * 32

Dein Beispiel erfordert ein 128 * 64 OLED ... und fragt das auch ab.

von Codeverstehversucher (Gast)


Lesenswert?

Thomas H. schrieb:
> Beim selber coden kriege ich immer folgenden Fehlercode:
> missing binary operator before token "#"

1) Wie sollen wir wissen welcher Token gemeint ist wenn
zwei # dastehen?

2) Zeige den ganze Code

3) Beachte die Anweisungen zum Posten von Code

(Formatierung (mehr Informationen...)
1
C-Code
1
AVR-Assembler-Code
1
Code in anderen Sprachen, ASCII-Zeichnungen
..........)

von Einer K. (Gast)


Lesenswert?

Codeverstehversucher schrieb:
> 1) Wie sollen wir wissen welcher Token gemeint ist wenn
> zwei # dastehen?
Hää ....
Wenn ich das wissen kann, dann kann das auch jeder andere in Erfahrung 
bringen.
Da ist keine Geheiminformation... alles gut dokumentiert...

von Thomas H. (Gast)


Lesenswert?

hier isser:





#include <Wire.h> // Wire Bibliothek hochladen
#include <SPI.h> // SPI Bibliothek hochladen(I²C Bus)
#include <Adafruit_GFX.h> // Adafruit Firm Lib hochladen
#include <Adafruit_SSD1306.h> // Adafruit Firmen Bibliothek hochladen
#define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET);



#if (SSD1306_LCDHEIGHT != 64) error("Height incorrect, please fix 
Adafruit_SSD1306.h!");  //Standard Bug überschreiben
int messwert =0;
void setup() {
  // put your setup code here, to run once:
 Serial.begin(9600);

  // by default, we'll generate the high voltage from the 3.3v line 
internally! (neat!)
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C 
addr 0x3D (for the 128x64)
  // Bus Adresse initialisiern



}

void loop() {
 messwert=analogRead(A0);  // Der Messwert vom Analogen Eingang A0 soll 
ausgelesen, und unter der Variablen „messwert“ gespeichert werden.
display.setCursor(0,0); // In der ersten Zeile soll der Text „Messwert:“ 
angezeigt werden.
display.print("Messwert:");
delay(500);
}
display.setCursor(0,1);  // In der zweiten Zeile soll der Messwert, der 
vom Feuchtigkeitssensor bestimmt wurde, angezeigt werden.
display.print(messwert);

von Codeverstehversucher (Gast)


Lesenswert?

Thomas H. schrieb:
> hier isser:

Kannst nicht lesen?
Beratungsresistent?
Dein Computer verschluckt ganze Textbereiche?

Codeverstehversucher schrieb:
> 3) Beachte die Anweisungen zum Posten von Code

von Dieter F. (Gast)


Lesenswert?

Thomas H. schrieb:
> hier isser:

Es wäre schon praktisch, wenn Du verwendete Teile aus dem Beispielcode

https://github.com/adafruit/Adafruit_SSD1306/blob/master/examples/ssd1306_128x64_i2c/ssd1306_128x64_i2c.ino

korrekt übernehmen würdest
1
#if (SSD1306_LCDHEIGHT != 64)
2
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
3
#endif

und nicht verstümmelst
1
#if (SSD1306_LCDHEIGHT != 64) error("Height incorrect, please fix 
2
Adafruit_SSD1306.h!");  //Standard Bug überschreiben

von Einer K. (Gast)


Lesenswert?

Thomas H. schrieb:
> hier isser:

Und, warum hast du dich noch nicht kundig gemacht, wie so eine #if - 
#error Kombination auszusehen hat?

von Dieter F. (Gast)


Lesenswert?

... und tue allen (auch Dir) einen Gefallen und nutze "Werkzeuge" -> 
"Automatische Formatierung" BEVOR Du hier Code (-Fragmente) einstellst

von Thomas H. (Gast)


Lesenswert?

@jim_quakenbush , yeahh das war hilfreich...jetzt habe ich weitere 
Aufgaben,
;-) war mein erster post hier, man möge mir verzeihen, für meine Fehler.
Oder andere können auch gerne in Ihrer bornierten Hölle bleiben, 
unglaublich...

von lutz (Gast)


Lesenswert?

Diese Anmache und Überheblichkeit ist manchmal nicht zu ertragen.
Sind vielleicht im waren Leben rechte Duckmäuser.
;--)))

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Klappt es denn jetzt mit dem richtigen "#define SSD1306_…" oder mit 
welchem Define funktioniert "die schöne Animation von denen"^^?

von AxelR. (Gast)


Lesenswert?

ist doch jetzt egal. Geht's nun?

von Wolfgang A. (Gast)


Lesenswert?

Thomas H. schrieb:
> ;-) war mein erster post hier, man möge mir verzeihen, für meine Fehler.
> Oder andere können auch gerne in Ihrer bornierten Hölle bleiben,
> unglaublich...

Mit dem Ton wirst du hier nicht weiter kommen :-(

von Fred (Gast)


Lesenswert?

Wolfgang A. schrieb:
> Thomas H. schrieb:
> ;-) war mein erster post hier, man möge mir verzeihen, für meine Fehler.
> Oder andere können auch gerne in Ihrer bornierten Hölle bleiben,
> unglaublich...
>
> Mit dem Ton wirst du hier nicht weiter kommen :-(


Meine Güte.  Der TE stellt eine Frage und man hat nichts besseres zu tun 
als in höchst aroganter Form Ihn auf Literatur bzw. Formatierungsfehler 
anzupöbeln. Wenn er hunderte Bücher lesen wollte wäre er sicher in eine 
Buchhandlung und nicht in ein Forum gegangen. Gibt es hier fast nur noch 
bürokratische Authisten oder werden hier von vielen einfach nur User auf 
Formatierungsfehler und dergleichen hingewiesen weil man zum 
eigentlichen Problem mangels eigenen Wissen nichts sinnvolleres posten 
kann?

von Thomas H. (Gast)


Angehängte Dateien:

Lesenswert?

Klappt es denn jetzt mit dem richtigen "#define SSD1306_…" oder mit
welchem Define funktioniert "die schöne Animation von denen"^^?

:Nee, leider nicht, ich habe mal die adafruit datei hinzugefügt, daraus 
nen lauffähigen Code zu schnitzen ..

von Thomas H. (Gast)


Lesenswert?

Siehe oben

von Draco (Gast)


Lesenswert?

Und was ist der Fehlercode dazu? Ich kenn mich ja nun mit dem Arduino 
Quark nicht aus, aber die Main ist doch leer?! Wird da diese Setup 
automatisch ausgeführt???

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.