Forum: Mikrocontroller und Digitale Elektronik Arduino Display


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sebastian M. (basti_481803)


Lesenswert?

Hallo, ich habe einen Arduino Mega und ein Display. Ich möchte lediglich 
was auf dem Display anzeigen lassen.

Selbst wenn ich nur eine folgende Codezeile ausführe:
#include <LiquidCrystal.h>

so kommt folgender Fehler:
c:/users/basti/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7. 
3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr 
6/crtatmega2560.o:(.init9+0x0):  undefined reference to `main'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

Irgendwas stimmt mit den Bibliotheken nicht

von Thomas F. (tommf)


Lesenswert?

main ist die Funktion, die beim Start des Programms ausgeführt wird. Die 
musst du natürlich noch anlegen, z.B.
1
int main(int argc, char *argv)
2
{
3
  return 0;
4
}

Falls du das nicht verstehst, solltest du mal in ein Grundlagen-Buch 
über C/C++ oder auch zum Arduino schauen.

: Bearbeitet durch User
von Adam P. (adamap)


Lesenswert?

Thomas F. schrieb:
> main ist die Funktion, die beim Start des Programms ausgeführt wird. Die
> musst du natürlich noch anlegen, z.B.

Nein, muss er nicht.
Wie im Titel steht, handelt es sich um Arduino.

von Steve van de Grens (roehrmond)


Lesenswert?

Bei Arduino hat man normalerweise mindestens eine loop() Funktion, das 
ist dort das Hauptprogramm.

von Wilhelm M. (wimalopaan)


Lesenswert?

Thomas F. schrieb:
> main ist die Funktion, die beim Start des Programms ausgeführt wird. Die
> musst du natürlich noch anlegen, z.B.
>
1
> int main(int argc, char *argv)
2
> {
3
>   return 0;
4
> }
5
>
>
> Falls du das nicht verstehst, solltest du mal in ein Grundlagen-Buch
> über C/C++ oder auch zum Arduino schauen.

Und schon gar nicht mit der Signatur ;-)
Was erwartest Du denn für einen
Inhalt des C-String-Arrays auf einem µC?

von Adam P. (adamap)


Lesenswert?

Wilhelm M. schrieb:
> Und schon gar nicht mit der Signatur ;-)
> Was erwartest Du denn für einen
> Inhalt des C-String-Arrays auf einem µC?

Vllt. bekommt die main() ja Parameter ausm Reset_Handler :-D
Aber den gibts ja so auch nicht aufm Atmega.

von Adam P. (adamap)


Lesenswert?

Sebastian M. schrieb:
> Irgendwas stimmt mit den Bibliotheken nicht

Welche Version von der Arduino IDE hast und welche Version von der 
LiquidCrystal Bibliothek?

von Steve van de Grens (roehrmond)


Lesenswert?

Wilhelm M. schrieb:
> Und schon gar nicht mit der Signatur ;-)
> Was erwartest Du denn für einen Inhalt des C-String-Arrays auf einem µC?

Adam P. schrieb:
> Vllt. bekommt die main() ja Parameter ausm Reset_Handler :-D
> Aber den gibts ja so auch nicht aufm Atmega.

Ok, verstehe. Aber das wirft die Frage auf, warum die main() einen 
Integer (nicht void) als Ergebnis haben muss. Ich weiß, es ist halt so, 
aber logisch ist es nicht.

von Wilhelm M. (wimalopaan)


Lesenswert?

Steve van de Grens schrieb:
> Ok, verstehe. Aber das wirft die Frage auf, warum die main() einen
> Integer (nicht void) als Ergebnis haben muss. Ich weiß, es ist halt so,
> aber logisch ist es nicht.

https://en.cppreference.com/w/c/language/main_function

von EAF (Gast)


Lesenswert?

Sebastian M. schrieb:
> Selbst wenn ich nur eine folgende Codezeile ausführe:
> #include <LiquidCrystal.h>

Kein Wunder!
1
#include <LiquidCrystal.h>
2
void setup(){}
3
void loop(){}
Sollte fehlerfrei kompilieren


Alternativ:
1
#include <LiquidCrystal.h>
2
int main(){}
Aber dann ist das Framework zum großen Teil aus dem Rennen, und das will 
man meist nicht.

von Wilhelm M. (wimalopaan)


Lesenswert?

Wilhelm M. schrieb:
> Steve van de Grens schrieb:
>> Ok, verstehe. Aber das wirft die Frage auf, warum die main() einen
>> Integer (nicht void) als Ergebnis haben muss. Ich weiß, es ist halt so,
>> aber logisch ist es nicht.
>
> https://en.cppreference.com/w/c/language/main_function

Sorry:

https://en.cppreference.com/w/cpp/language/main_function

von Sebastian M. (basti_481803)


Lesenswert?

Arduino IDE 2.0.2 also ganz neu. Der Fehler ist seit heute gestern noch 
nicht und habe nicht geändert.

Library puh keine ahnung welche version

von Adam P. (adamap)


Lesenswert?

Steve van de Grens schrieb:
> Aber das wirft die Frage auf, warum die main() einen
> Integer (nicht void) als Ergebnis haben muss.

Ja das ist echt bissel blöd.
Da du ja nie ein return haben wirst.
1
int main(void)
2
{
3
  while (1)
4
  {
5
    //sw_task_schedul();
6
  }
7
}

von Adam P. (adamap)


Lesenswert?

Sebastian M. schrieb:
> Arduino IDE 2.0.2 also ganz neu. Der Fehler ist seit heute gestern noch
> nicht und habe nicht geändert.

Zeig mal dein code, häng den mal als Datei an, oder poste ihn falls 
nicht zu lang.

von EAF (Gast)


Lesenswert?

Sebastian M. schrieb:
> Arduino IDE 2.0.2 also ganz neu.

Ich halte die neue IDE noch für relativ krank.

Wenn man nicht zwingend auf irgendwelche Features der 2.XXX angewiesen 
ist rate ich weiterhin zur portablen Installation der 1.8.19

von Steve van de Grens (roehrmond)


Lesenswert?

Wilhelm M. schrieb:
> https://en.cppreference.com/w/c/language/main_function

Der Artikel beantwortet meine Frage nicht. Er bezieht sich auf PC mit 
Betriebssystem, wo der return Wert sinnvoll benutzt werden kann.

von Wilhelm M. (wimalopaan)


Lesenswert?

Adam P. schrieb:
> Steve van de Grens schrieb:
>> Aber das wirft die Frage auf, warum die main() einen
>> Integer (nicht void) als Ergebnis haben muss.
>
> Ja das ist echt bissel blöd.
> Da du ja nie ein return haben wirst.

Adruino-Gedöns ist C++.
Daher:
1
int main(){
2
  while(true){
3
    // ...
4
  }
5
}

von Wilhelm M. (wimalopaan)


Lesenswert?

Steve van de Grens schrieb:
> Wilhelm M. schrieb:
>> https://en.cppreference.com/w/c/language/main_function
>
> Der Artikel beantwortet meine Frage nicht. Er bezieht sich auf PC mit
> Betriebssystem, wo der return Wert sinnvoll benutzt werden kann.

Doch.
An der Signatur von main() ändert das Environment nichts, das ist 
einfach im C++-Standard so festgelegt.

https://en.cppreference.com/w/cpp/freestanding

von Sebastian M. (basti_481803)


Lesenswert?

bei Arduino braucht man keine main. Das ist der Code zum ausgeben auf 
dem Display:
#include <LiquidCrystal.h> //LCD-Bibliothek laden

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //In dieser Zeile wird 
festgelegt, welche Pins des Mikrocontrollerboards für das LCD verwendet 
wird (Am besten erstmal nicht verändern).

void setup()
{
lcd.begin(16, 2); //Im Setup wird angegeben, wie viele Zeichen und 
Zeilen verwendet werden. Hier: 16 Zeichen in 2 Zeilen.
}

void loop()
{
lcd.setCursor(0, 0); //Startposition der Darstellung auf dem LCD 
festlegen. lcd.setCursor(0,0) bedeutet: Erstes Zeichen in der ersten 
Zeile.
lcd.print("www.funduino.de"); //Dort soll der Text „www.funduino.de“ 
erscheinen. Der Befehl lcd.setCursor ist dem Mikrocontrollerboard durch 
das Aufrufen der Bibliothek bekannt.
lcd.setCursor(0, 1); // lcd.setCursor(0,1) bedeutet: Erstes Zeichen in 
der zweiten Zeile.
lcd.print("Viel Erfolg"); //Dort soll dann der Text „Viel Erfolg!!!“ 
auftauchen.
}


wurde oft benutzt

von Wilhelm M. (wimalopaan)


Lesenswert?

Sebastian M. schrieb:
> bei Arduino braucht man keine main.

Doch.
Du musst sie nur nicht selbst schreiben ;-)

von Steve van de Grens (roehrmond)


Lesenswert?

Wilhelm M. schrieb:
> An der Signatur von main() ändert das Environment nichts, das ist
> einfach im C++-Standard so festgelegt.

Ich sage ja "es ist halt so", trotzdem finde ich es unlogisch. Der 
Compiler hat eh schon jede Menge Sonderlocken für Mikrocontroller, da 
hätte ich das gleich mit geändert. Zumindest als Option.

: Bearbeitet durch User
von Wilhelm M. (wimalopaan)


Lesenswert?

Steve van de Grens schrieb:
> Wilhelm M. schrieb:
>> An der Signatur von main() ändert das Environment nichts, das ist
>> einfach im C++-Standard so festgelegt.
>
> Ich sage ja "es ist halt so", trotzdem finde ich es unlogisch.

Das ist bei allen Dingen des C++-Standards so.
Die o.g. Seite beschreibt den Standard, keine Implementierung wie den 
gcc.

> Der
> Compiler hat eh schon jede Menge Sonderlocken für Mikrocontroller, da
> hätte ich das gleich mit geändert. Zumindest als Option.

Du hast es immer noch nicht verstanden.

1) Auf dem µC haben wir typischerweise eine "freestanding" Umgebung
2) Ob der Einstiegspunkt dann via main() oder was anderes geschieht, ist 
IB.
3) Der avr-gcc (gcc) verlangt nach wie vor main().
4) Wenn main(), dann nach den Regeln des Standards.

von Adam P. (adamap)


Lesenswert?

Sebastian M. schrieb:
> Arduino IDE 2.0.2 also ganz neu. Der Fehler ist seit heute gestern noch
> nicht und habe nicht geändert.

Also ich habe nun getestet:
Arduino IDE 2.0.2
LiquidCrystal 1.0.7

Fazit: läuft!

Kopier das mal bei dir rein:
1
#include <LiquidCrystal.h> //LCD-Bibliothek laden
2
3
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
4
5
void setup()
6
{
7
  lcd.begin(16, 2);
8
}
9
10
void loop()
11
{
12
  lcd.setCursor(0, 0);
13
  lcd.print("www.funduino.de");
14
  lcd.setCursor(0, 1);
15
  lcd.print("Viel Erfolg");
16
}

von EAF (Gast)


Lesenswert?

Steve van de Grens schrieb:
> Ich sage ja "es ist halt so", trotzdem finde ich es unlogisch.

Und ich finde es unlogisch, wenn ein nicht vorhandenes Betriebssystem 
Kommandozeilenparameter bereit stellen soll.
Geradezu absurd finde ich das.

Steve van de Grens schrieb:
> Der Compiler hat eh schon jede Menge Sonderlocken für Mikrocontroller
Ja?
Dann nenne bitte eine unnötige.
Eine würde mir schon reichen....

von Wilhelm M. (wimalopaan)


Lesenswert?

EAF schrieb:
> Steve van de Grens schrieb:
>> Ich sage ja "es ist halt so", trotzdem finde ich es unlogisch.
>
> Und ich finde es unlogisch, wenn ein nicht vorhandenes Betriebssystem
> Kommandozeilenparameter bereit stellen soll.
> Geradezu absurd finde ich das.

Darum geht es nicht, denn main() mit leerer Parameterliste ist ja 
möglich.
Es geht um den Rückgabetyp int (statt bspw. void).

von Steve van de Grens (roehrmond)


Lesenswert?

EAF schrieb:
> Dann nenne bitte eine unnötige.

Wieso sollte ich? ich habe nicht behauptet, das die Sonderlocken unnötig 
seien. Wenn du da welche vermutest, suche sie selbst.

von Steve van de Grens (roehrmond)


Lesenswert?

Wilhelm M. schrieb:
> Darum geht es nicht, denn main() mit leerer Parameterliste ist ja
> möglich. Es geht um den Rückgabetyp int (statt bspw. void).

Da haben wir aber die gleiche Problematik. Es ist nichts da, was den 
return Wert konsumiert.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Wilhelm M. schrieb:
> Adruino-Gedöns ist C++.
> Daher:
> int main(){

und wann soll main auf dem Arduino terminieren?
int main() bleibt Unsinn

von Wilhelm M. (wimalopaan)


Lesenswert?

Steve van de Grens schrieb:
> Wilhelm M. schrieb:
>> Darum geht es nicht, denn main() mit leerer Parameterliste ist ja
>> möglich. Es geht um den Rückgabetyp int (statt bspw. void).
>
> Da haben wir aber die gleiche Problematik. Es ist nichts da, was den
> return Wert konsumiert.

Und damit sind wir wieder am Anfang:

Beitrag "Re: Arduino Display"

von Wilhelm M. (wimalopaan)


Lesenswert?

Joachim B. schrieb:
> Wilhelm M. schrieb:
>> Adruino-Gedöns ist C++.
>> Daher:
>> int main(){
>
> und wann soll main auf dem Arduino terminieren?
> int main() bleibt Unsinn

Dann solltest Du besser
1
[[noreturn]] int main() {}

schreiben.

von EAF (Gast)


Lesenswert?

Steve van de Grens schrieb:
> Wenn du da welche vermutest, suche sie selbst.
Wenn du dir Änderungen am Standard erwünscht, dann bist du hier 
vermutlich an der falschen Stelle am Buddeln.
Also falsche Baustelle.

Mein Rat:
Spare dir die Energie für das Nörgeln, oder suche dir den Ansatzpunkt, 
wo du Wirkung erreichen kannst.

von Steve van de Grens (roehrmond)


Lesenswert?

EAF schrieb:
> Spare dir die Energie für das Nörgeln, oder suche dir den Ansatzpunkt,
> wo du Wirkung erreichen kannst.

Einverstanden.

von Joachim B. (jar)


Lesenswert?

EAF schrieb:
> Steve van de Grens schrieb:
>> Wenn du da welche vermutest, suche sie selbst.
>
> Mein Rat:
> Spare dir die Energie für das Nörgeln, oder suche dir den Ansatzpunkt,
> wo du Wirkung erreichen kannst.

wer ist denn dieser "Steve van de Grens"
der 2t Nick vom Stefanus?

Beitrag "Wieviele Leds in Reihe möglich, 24V, 0.5Ampere Netzteil?"

von Sebastian M. (basti_481803)


Lesenswert?

auch der code läuft nicht. es liegt sicher nicht am Code sondern eher 
irgendwie an den Speicherorten. Weiß da jemand mehr

von Adam P. (adamap)


Lesenswert?

Thomas F. schrieb:
> main ist die Funktion, die beim Start des Programms ausgeführt wird. Die
> musst du natürlich noch anlegen, z.B.int main(int argc, char *argv)
> {
>   return 0;
> }
>
> Falls du das nicht verstehst, solltest du mal in ein Grundlagen-Buch
> über C/C++ oder auch zum Arduino schauen.

Der Vollständigkeit halber:

Die main() bei Arduino befindet sich in der main.cpp

"C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino"
1
#include <Arduino.h>
2
3
// Declared weak in Arduino.h to allow user redefinitions.
4
int atexit(void (* /*func*/ )()) { return 0; }
5
6
// Weak empty variant initialization function.
7
// May be redefined by variant files.
8
void initVariant() __attribute__((weak));
9
void initVariant() { }
10
11
void setupUSB() __attribute__((weak));
12
void setupUSB() { }
13
14
int main(void)
15
{
16
  init();
17
18
  initVariant();
19
20
#if defined(USBCON)
21
  USBDevice.attach();
22
#endif
23
  
24
  setup();
25
    
26
  for (;;) {
27
    loop();
28
    if (serialEventRun) serialEventRun();
29
  }
30
        
31
  return 0;
32
}

von Adam P. (adamap)


Lesenswert?

Sebastian M. schrieb:
> es liegt sicher nicht am Code sondern eher
> irgendwie an den Speicherorten. Weiß da jemand mehr

Ist die o.g. Fehlermeldung die einzige?
Sonst poste mal alles aus der Ausgabe.

Zur not, einmal neu installieren und Updates machen auch von den Libs.

von Sebastian M. (basti_481803)


Lesenswert?

folgende Meldung 
kommt:C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o: In 
function `pulseEnable':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:304:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:305:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:306:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:307:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:308:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:309:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o: In function 
`write4bits':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:314:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o: In function 
`send':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:288:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:292:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o: In function 
`write8bits':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:322:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o: In function 
`begin':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:91:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:94:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:96:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:101:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:107:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:109:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:110:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:112:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:122:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:126:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:130:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o: In function 
`clear':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:179:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o: In function 
`begin':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:140:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o:C:\Users\bas 
ti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/LiquidCrystal.cpp 
:144:  more undefined references to `delayMicroseconds' follow
C:\Users\basti\AppData\Local\Temp\cc7Yb0Mw.ltrans0.ltrans.o:(.rodata+0x6 
):  undefined reference to `Print::write(unsigned char const*, unsigned 
int)'
c:/users/basti/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7. 
3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr 
6/crtatmega2560.o:(.init9+0x0):  undefined reference to `main'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

von Adam P. (adamap)


Angehängte Dateien:

Lesenswert?

Schau mal unter

Tools -> Manage Libraries...

Hast du da die neuste?

Edit:
Ich vermute auch, dass er da einige Dateien nicht findet.
Das einfachste wäre evtl. wirklich alles (Arduino IDE) löschen und neu 
installieren.

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Sebastian M. schrieb:
> C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui
> dCrystal.cpp:

Da steht was von "Arduino15", oben was von "2.0.2"? Kommen sich da grad 
zwei Installationen in die Quere?

>  undefined reference to `digitalWrite'

d.H. das komplette Arduino-Framework wird nicht mitkompiliert?
Hast du irgendwas an der boards.txt ö.Ä. geändert, und dir eine eigene 
Hardware ohne arduino-support zusammenkonfiguriert?

von EAF (Gast)


Lesenswert?

Sebastian M. schrieb:
> folgende Meldung
Da werden wesentliche Teile des Frameworks nicht eingebunden.
Die Installation ist defekt.

Nach der Deinstallation sollte auch dieser 
C:\Users\basti\AppData\Local\Arduino15\libraries
Ordner gelöscht werden.

evtl. vorher Backup anlegen.

von EAF (Gast)


Lesenswert?

EAF schrieb:
> Nach der Deinstallation sollte auch dieser
> C:\Users\basti\AppData\Local\Arduino15\libraries
> Ordner gelöscht werden.

Korrektur:
Nach der IDE Deinstallation sollte auch dieser
C:\Users\basti\AppData\Local\Arduino15
Ordner gelöscht werden.

von Sebastian M. (basti_481803)


Lesenswert?

Habe jetzt Deinstalliert und nochmal neu runtergeladen aber es hat 
nichts geholfen. Folgender Fehlermeldung kommt:

C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o: In function 
`pulseEnable':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:304:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:305:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:306:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:307:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:308:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:309:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o: In function 
`write4bits':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:314:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o: In function 
`send':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:288:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:292:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o: In function 
`write8bits':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:322:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o: In function 
`begin':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:91:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:94:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:96:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:101:  undefined reference to `pinMode'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:107:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:109:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:110:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:112:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:122:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:126:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:130:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o: In function 
`clear':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:179:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o: In function 
`begin':
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/Liqui 
dCrystal.cpp:140:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o:C:\Users\bas 
ti\AppData\Local\Arduino15\libraries\LiquidCrystal\src/LiquidCrystal.cpp 
:144:  more undefined references to `delayMicroseconds' follow
C:\Users\basti\AppData\Local\Temp\ccZNphFx.ltrans0.ltrans.o:(.rodata+0x6 
):  undefined reference to `Print::write(unsigned char const*, unsigned 
int)'
c:/users/basti/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7. 
3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr 
6/crtatmega2560.o:(.init9+0x0):  undefined reference to `main'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

von Sebastian M. (basti_481803)


Lesenswert?

Adam P. schrieb:
> Schau mal unter
>
> Tools -> Manage Libraries...
>
> Hast du da die neuste?
>
> Edit:
> Ich vermute auch, dass er da einige Dateien nicht findet.
> Das einfachste wäre evtl. wirklich alles (Arduino IDE) löschen und neu
> installieren.
Wenn ich die neueste Installiere und ausführe kommt der nachfolgende 
Fehler (aber es steht mehrere Bibliotheken dafür dabei):
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o: In function 
`pulseEnable':
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:304:  undefined reference to `digitalWrite'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:305:  undefined reference to `delayMicroseconds'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:306:  undefined reference to `digitalWrite'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:307:  undefined reference to `delayMicroseconds'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:308:  undefined reference to `digitalWrite'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:309:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o: In function 
`write4bits':
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:314:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o: In function 
`send':
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:288:  undefined reference to `digitalWrite'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:292:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o: In function 
`write8bits':
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:322:  undefined reference to `digitalWrite'
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o: In function 
`begin':
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:91:  undefined reference to `pinMode'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:94:  undefined reference to `pinMode'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:96:  undefined reference to `pinMode'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:101:  undefined reference to `pinMode'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:107:  undefined reference to `delayMicroseconds'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:109:  undefined reference to `digitalWrite'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:110:  undefined reference to `digitalWrite'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:112:  undefined reference to `digitalWrite'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:122:  undefined reference to `delayMicroseconds'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:126:  undefined reference to `delayMicroseconds'
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:130:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o: In function 
`clear':
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:179:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o: In function 
`begin':
C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCryst 
al.cpp:140:  undefined reference to `delayMicroseconds'
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o:C:\Users\bas 
ti\Documents\Arduino\libraries\LiquidCrystal\src/LiquidCrystal.cpp:144: 
more undefined references to `delayMicroseconds' follow
C:\Users\basti\AppData\Local\Temp\ccFvvQ9m.ltrans0.ltrans.o:(.rodata+0x6 
):  undefined reference to `Print::write(unsigned char const*, unsigned 
int)'
c:/users/basti/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7. 
3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr 
6/crtatmega2560.o:(.init9+0x0):  undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
Mehrere Bibliotheken wurden für "LiquidCrystal.h" gefunden
  Benutzt: C:\Users\basti\Documents\Arduino\libraries\LiquidCrystal
  Nicht benutzt: 
C:\Users\basti\AppData\Local\Arduino15\libraries\LiquidCrystal
exit status 1

Compilation error: exit status 1

von EAF (Gast)


Lesenswert?

Adam P. schrieb:
> Also ich habe nun getestet:

Ich auch!

Sebastian M. schrieb:
> Folgender Fehlermeldung kommt:
Eigentlich ist wichtiger, das was er tut, dass die Fehler kommen, wissen 
wir schon.

Es kann übrigens Sinn machen die ganzen mit arduino beginnenden Ordner 
aus temp zu löschen.
bzw die Datenträgerbereinigung da mal drüber zu schicken.

von Sebastian M. (basti_481803)


Lesenswert?

Ok habe es iwie geschafft nach löschen iwelcher ordner und 
neuinstallation.

Ich habe das Display:
https://www.reichelt.de/arduino-shield-display-lcd-kit-16x2-blau-weiss-ard-shd-lcd-p270527.html?&trstct=pos_2&nbc=1

das Stecke ich in meinen Arduiono Mega aber es erscheint trdm nichts auf 
dem Display aber keine Fehlermeldung

von Steve van de Grens (roehrmond)


Lesenswert?

Solange das Display nicht initialisiert wurde (was eine Software-Sache 
ist) sollte es eine Reihe graue Blöcke anzeigen und die andere Reihe 
leer bleiben. Stelle ggf. das Kontrast Poti entsprechend ein.

Wenn du das schon nicht geht, hast du ein Hardwareproblem.

von Εrnst B. (ernst)


Lesenswert?

Sebastian M. schrieb:
> Ich habe das Display:

Das wird über I²C angesprochen, du hast die falsche Library.

Schau eher hier:
https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/

von Steve van de Grens (roehrmond)


Lesenswert?

Εrnst B. schrieb:
> Das wird über I²C angesprochen

Den Verdacht habe ich auch.

Die Produktbeschrezbung von Conrad ist ein schlechter Witz, das 
Datenblatt eine Unverschämtheit. Wenn ich mir die Fotos anschaue, könnte 
da sogar ein Mikrocontroller mit drauf sein, aber im Text und im 
downloadbaren Material steht nichts dazu.

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Du hast einen Mega 2560, korrekt?

Da schaut das Pinout nicht so aus, als könnte man das Display-Board 
irgendwo sinnvoll direkt draufstecken.

Das Bild von der Reichelt-Seite passt nicht zu deinem Arduino. Du musst 
die richtigen SDA/SCL-Pins bei deinem Arduino suchen.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Ich habe diese Doku gefunden, demnach ist LiquidCrystal (ohne I²C) doch 
die richtige Bibliothek. Aber mit anderen Parametern.

https://wiki.keyestudio.com/Ks0256_keyestudio_LCD1602_Expansion_Shield

: Bearbeitet durch User
von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Steve van de Grens schrieb:
> Ich habe diese Doku gefunden, demnach ist LiquidCrystal (ohne I²C) doch
> die richtige Bibliothek.

Ah, ok, dann war das Reichelt-Bild irreführend.

Vergleiche die Pinouts, und schau welche Pinnummern vom Mega 2560 dem 
alten Arduino entsprechen, dann pass die Initialisierung entsprechend 
an.

von Steve van de Grens (roehrmond)


Lesenswert?

Steve van de Grens schrieb:
> Die Produktbeschrezbung von Conrad ist ein schlechter Witz

Sorry, ich meinte Reichelt.

von Wolfgang (Gast)


Lesenswert?

Sebastian M. schrieb:
> bei Arduino braucht man keine main.

Was meinst du wohl, wer loop() und setup() bei Arduino aufruft?

von EAF (Gast)


Lesenswert?

> bei Arduino braucht man keine main.

> Was meinst du wohl, wer loop() und setup() bei Arduino aufruft?

Bei Arduino braucht man kein loop() und setup().
(meistens ehr doch, also: Wahlweise)

von Sebastian (Gast)


Lesenswert?

Sebastian M. schrieb:
> das Stecke ich in meinen Arduiono Mega aber es erscheint trdm nichts auf
> dem Display

Klingt nach plug and pray.

LG, Sebastian

von Manfred (Gast)


Lesenswert?

Steve van de Grens schrieb:
> Die Produktbeschrezbung von Reichelt ist ein schlechter Witz, das
> Datenblatt eine Unverschämtheit.

Die bedauernswerten deutschen Händler beklagen sich über China, aber 
bieten keinerlei Mehrwert - Produkte ohne oder mit schlechter 
Beschreibung bekomme ich direkt aus China billiger.

EAF schrieb:
> Bei Arduino braucht man kein loop() und setup().

Geh' besser mit Deinen Bauklötzen spielen.

Steve van de Grens schrieb:
> Ich habe diese Doku gefunden, demnach ist LiquidCrystal (ohne I²C) doch
> die richtige Bibliothek. Aber mit anderen Parametern.
> https://wiki.keyestudio.com/Ks0256_keyestudio_LCD1602_Expansion_Shield

Die dortige Initialisierung passt, wenn das Display auf einem UNO 
steckt. Ich habe keine Ahnung, ob der Mega die gleiche Belegungsfolge 
bietet. Ich benutze beide nicht und meine Displays habe ich lose ohne 
Platine drunter.

von Wolfgang (Gast)


Lesenswert?

EAF schrieb:
> Bei Arduino braucht man kein loop() und setup().

Und für was hältst du die Aufrufe in der main.cpp vom Arduino Core?
1
int main(void)
2
{
3
  init();
4
  initVariant();
5
6
#if defined(USBCON)
7
  USBDevice.attach();
8
#endif
9
  
10
  setup();
11
    
12
  for (;;) {
13
    loop();
14
    if (serialEventRun) serialEventRun();
15
  }
16
  return 0;
17
}

https://github.com/arduino/ArduinoCore-avr/blob/1.8.5/cores/arduino/main.cpp

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> EAF schrieb:
>> Bei Arduino braucht man kein loop() und setup().
>
> Geh' besser mit Deinen Bauklötzen spielen.

Hmmm....
Trollst du gerade, oder hast du keine Ahnung von dem Kram?

Das kürzest mögliche Arduino fähige C oder C++ Programm sieht so aus:
1
int main(){}
Es kompiliert perfekt und tut genau das, was man erwartet: Nichts!
Siehst du da ein loop() oder setup()?
Ich nicht.

von EAF (Gast)


Lesenswert?

Nachtrag/Erklärung:
Der Arduino Builder sieht vor, dass man auch auf das Framework gänzlich 
verzichten kann.
Und das geht eben genau über den Weg, dass man setup() und loop() 
weglässt und selber eine main() definiert.

von Wolfgang (Gast)


Lesenswert?

EAF schrieb:
> Das kürzest mögliche Arduino fähige C oder C++ Programm sieht so aus:int
> main(){}

Und was an dem Programm ist Arduino?

von EAF (Gast)


Lesenswert?

Wolfgang schrieb:
> Und was an dem Programm ist Arduino?

Ach du armer Kerl.
Es kann mit der Arduino IDE kompiliert werden.
Es kann dann auf einem Arduino laufen.
Selbst große Teile des Frameworks kann man verwenden.
Auch viele der Libraries.

Also:
Was ist daran nicht Arduino?

Ich sehe schon, jetzt willst du sogar bestimmen dürfen was Arduino ist, 
und wo es aufhört....
Ich schätze, dass du damit deinen Kompetenzbereich überschreitest.
Klare: Die Definitionshoheit liegt nicht bei dir!

von Steve van de Grens (roehrmond)


Lesenswert?

Ihr wisst beide wie man das richtig macht und was sonst noch machbar 
ist. Warum streitet ihr euch?

: Bearbeitet durch User
von Sebastian M. (basti_481803)


Lesenswert?

Natürlich bin ich mir bewusst, dass es die main gibt aber ich die nicht 
zwangsläufig selber schreiben muss. Hört endlich auf mit dem 
klugscheissen wegen der main xD.

Ja ich benutzte den Arduino Mega und nicht den Uno

bzw. ich habe auch einen Uno zur verfügung aber da gehts auch nicht wenn 
ich den nur draufstecke

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Ich verstehe nicht wo das Problem ist, uns wieso ihr da so ein Theater 
macht.


Das 1602 Display ist DAS Display für den Arduino. Ergo gibt es da 
Schaltplane und Codes ohne Ende für im Netz.

Egal ob man ein UNO oder ein Nano hat. Der einzige Unterschied ist, das 
der Nano genug Leitungen hat das Display auch OHNE i2c Huckepack-Platine 
anzuschließen.

Für BEIDE Varianten gibt es sogar in der Arduino-IDE (wenn richtig 
installiert) ein Beispiel-Code. Zu unterscheiden sind die beiden 
Varianten mit den Zusatz i2c oder halt nicht ;)


Also macht nicht so ein Aufstand von Zwerg ;)

von Steve van de Grens (roehrmond)


Lesenswert?

Schlaumaier schrieb:
> Das 1602 Display ist DAS Display für den Arduino. Ergo gibt es da
> Schaltplane und Codes ohne Ende für im Netz.

Bis gestern Abends war der Knackpunkt, den Plan von der Platine zu 
finden. Was nützt ein Schaltplan, der nicht dem Produkt entspricht? Was 
nützt ein Datenblatt, in dem nicht einmal die Pinbelegung angegeben ist?

Der TO hat den Plan inzwischen und auch die richtige Bibliothek, sowie 
deren Doku.

> Also macht nicht so ein Aufstand von Zwerg ;)

Jetzt hast du es uns allen aber richtig gegeben. Und, läuft das Display 
jetzt? Nein!

War mal wieder sehr Hilfreich ............ nicht

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Steve van de Grens schrieb:
> Der TO hat den Plan inzwischen und auch die richtige Bibliothek, sowie
> deren Doku.

Ich wäre für ein Foto des Display. Irgendwie habe ich das Gefühl das es 
kein normales 1602 ist.

ODER der TO vergessen hat den Kontrast anzuklemmen. ;)

https://starthardware.org/lcd/   <- Ich meine die Leitung die durch ein 
Poti in den Plan läuft. ;)

Und wo ich schon zig Leuten gesagt habe sie sollen an der weisen 
Schraube in beide Richtungen drehen bis auf den Display was passiert. 
Logo wenn sie die i2c-Huckepack-Platinen nutzen.

DANN kommt der große AH-da-ist-was. Effekt. ;)

von Steve van de Grens (roehrmond)


Lesenswert?

Schlaumaier schrieb:
> Ich wäre für ein Foto des Display.

Er hat es doch verlinkt!

> ODER der TO vergessen hat den Kontrast anzuklemmen.

Hatten wir auch schon geklärt, gähn.

> DANN kommt der große AH-da-ist-was. Effekt.

Sicher nicht. Deine Hinweise sind hier vollkommen nutzlos.

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Sebastian M. schrieb:
> Ich habe das Display:
> 
https://www.reichelt.de/arduino-shield-display-lcd-kit-16x2-blau-weiss-ard-shd-lcd-p270527.html?&trstct=pos_2&nbc=1

Steve van de Grens schrieb:
> Schlaumaier schrieb:
>> Ich wäre für ein Foto des Display.
>
> Er hat es doch verlinkt!

Ok habe ich übersehen.

Dann soll er einfach DIESE Seite aufrufen und sich freuen.

https://www.az-delivery.de/products/azdelivery-hd44780-1602-lcd-module-display-2x16-zeichen-fur-arduino-lcd1602-keypad

Und an der Schraube drehen in beide Richtungen ;)

Und das nächste mal kein Shild kaufen. Damit hat man nur stress.

von Steve van de Grens (roehrmond)


Lesenswert?

Schlaumaier schrieb:
> Dann soll er einfach DIESE Seite aufrufen und sich freuen.

We gesagt, er hat bereits ein Programmbeispiel bekommen. Sogar direkt 
auf der Webseite des Produkt-Herstellers.

> Und an der Schraube drehen in beide Richtungen

Den Kontrast hatten wir wie gesagt bereits geklärt.

Höre du doch mal auf, am Rad zu drehen!
Und lies wenigstens mal die vorherigen Beiträge, bevor du störst.

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Steve van de Grens schrieb:
> Lies doch wenigstens mal die vorherigen Beiträge, bevor zu störst!

Naja, vielleicht liest der TO ja meine Tipps.

Du musst sie ja nicht lesen.

von Steve van de Grens (roehrmond)


Lesenswert?

Schlaumaier schrieb:
> Naja, vielleicht liest der TO ja meine Tipps.

Die bringen ihn kein Stück weiter, weil sie nicht zu seinem konkreten 
Produkt passen.

von Manfred (Gast)


Lesenswert?

Sebastian M. schrieb:
> bzw. ich habe auch einen Uno zur verfügung aber da gehts auch nicht wenn
> ich den nur draufstecke

Weiter vorne wurde Dir ein Link gezeigt, hinter dem es auch ein 
Beispielprogramm gibt:
Beitrag "Re: Arduino Display"

Wenn das am Uno nicht geht ... würde ich mal die portable Version der 
1.5.x-IDE auf den Rechner packen.

Du hast nicht zufällig ein Hardwareproblem, dass das Display extrem 
blass ist oder Rechtecke anzeigt = Kontrastpoti falsch eingestellt?

Schlaumaier schrieb:
> Das 1602 Display ist DAS Display für den Arduino. Ergo gibt es da
> Schaltplane und Codes ohne Ende für im Netz.

Ja.

> Egal ob man ein UNO oder ein Nano hat. Der einzige Unterschied ist, das
> der Nano genug Leitungen hat das Display auch OHNE i2c Huckepack-Platine
> anzuschließen.

Das geht auch mit dem Uno ohne I2C.

Schlaumaier schrieb:
> Naja, vielleicht liest der TO ja meine Tipps.

Na hoffentlich nicht.

Steve van de Grens schrieb:
> Die bringen ihn kein Stück weiter, weil sie nicht zu seinem konkreten
> Produkt passen.

Vielleicht muss der TO mal die Leitungen vom UNO-Stecker bis zum Display 
durchklingeln, ob diese wirklich 1:1 passend durchgeschaltet sind. Auf 
dem Display sind sie ja sichtbar aufgedruckt.

Irgendwie hat Schlaumaier ja recht: Diese 1602 sind das Standarddisplay 
und leidlich problemlos in Betrieb zu nehmen.

von Thomas W. (dbstw)


Lesenswert?

Sebastian M. schrieb:

> Ja ich benutzte den Arduino Mega und nicht den Uno
>
> bzw. ich habe auch einen Uno zur verfügung aber da gehts auch nicht wenn
> ich den nur draufstecke

Stand der Dinge war eigentlich, dass Sebastian nicht compilen kann 
(genauer gesagt: Das linking bricht mit unresolved refs ab).

Ist das jetzt geloest oder ist das ein Troll?

Gruesse

Th.

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]
  • [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.

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