mikrocontroller.net

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


Autor: Thomas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Arduino Fanboy (ufuf)
Datum:

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

Autor: Dieter F. (jim_quakenbush)
Datum:

Bewertung
0 lesenswert
nicht 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
   -----------------------------------------------------------------------*/
//   #define SSD1306_128_64
   #define SSD1306_128_32
//   #define SSD1306_96_16
/*=========================================================================*/

steht per Default auf 128 * 32

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

Autor: Codeverstehversucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...)
C-Code
AVR-Assembler-Code
Code in anderen Sprachen, ASCII-Zeichnungen
..........)

Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Thomas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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);

Autor: Codeverstehversucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dieter F. (jim_quakenbush)
Datum:

Bewertung
1 lesenswert
nicht 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/...

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

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

Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Thomas H. schrieb:
> hier isser:

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

Autor: Dieter F. (jim_quakenbush)
Datum:

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

Autor: Thomas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: lutz (Gast)
Datum:

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

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

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

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist doch jetzt egal. Geht's nun?

Autor: Wolfgang A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-(

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Thomas H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 ..

Autor: Thomas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe oben

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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???

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.