C LiquidCrystal.h wird verlangt

oabel5

Neues Mitglied
07. Apr. 2010
5
0
0
Sprachen
Hallo,
ich benutze den Atmel Studio 6.2; ich habe ein Programm (in C) geschrieben, ich will mit dem ein HD44780 steuern.
Ich möchte dafür die Bibliothek (LiquidCrystal.h) benutzen.
Mein Prozessor: Atmega1284p.
Wenn ich versuche, das Programm zu compilieren, kommt die Fehlermeldung: LiquidCrystal.h nicht gefunden.
Meine Frage: Wo finde ich diese gesammte Bibliothek von Arduino und unter welchem Verzeichnis soll ich dann in Atmel kopieren?, ist das überhaupt möglich, ich meine: kann man diese Bibliothek mit anderen Atmegas als mit dem vom Arduino benutzen?
Für jede Antwort bedanke ich mich in Voraus.
Grüße.
Abel
 
Die LiquidCrystal.h muss im gleichen Verzeichnis sein wie die *.c Datei.
Einbinden dann mit #include "LiquidCrystal.h"
Ich bezweifle aber das es funktionieren wird. Arduino Dateien im AVR-Studio einzubinden hat bei mir immer zu einer Menge Fehlermeldungen geführt.
Verwende da besser die LCD-Lib von Peter Fleury.
 
Hallo Abel,

ist das überhaupt möglich, ich meine: kann man diese Bibliothek mit anderen Atmegas als mit dem vom Arduino benutzen?

es gibt keine Atmels für Arduino und andere. Es gibt nur die Atmels die der Hersteller macht. Die sind bei Lieferung alle total doof, leer und jungfräulich. Danach kommt es auf die Programmiersprache an. Assembler, Arduino, Bascom, C, Pascal, ... usw. Du kannst die Bibliotheken normalerweise nicht zwischen den Programmiersprachen tauschen. Wenn du C programmierst, dann benötigst du also auch eine Bibliothek von C und keine von einer anderen Programmiersprache. Auch wenn die vom Dateinamen evtl ähnlich oder sogar gleich sind kann es im Inneren der Datei anders aussehen.

Bei Arduino ist lediglich bereits vom Hersteller der Arduino-Boards ein kleines Programm (Bootloader) auf den Atmel draufgeladen. Das machen manche Hersteller von Entwicklungsumgebungen um die Leute an ihre Umgebung zu binden oder ihnen das Leben zu erleichtern. Man kann dann zB ohne ein extra Programmiergerät über die serielle Schnittstelle ein Programm mit Hilfe des Bootloaders und eines Gegenstücks auf dem PC auf den Atmel laden. Wenn er wirklich leer ist benötigt man dafür einen extra Programmieradapter.

Gruß
Dino
 
Die LiquidCrystal.h muss im gleichen Verzeichnis sein wie die *.c Datei.
Einbinden dann mit #include "LiquidCrystal.h"
Ich bezweifle aber das es funktionieren wird. Arduino Dateien im AVR-Studio einzubinden hat bei mir immer zu einer Menge Fehlermeldungen geführt.
Verwende da besser die LCD-Lib von Peter Fleury.

Danke für die Antwort, ich habe das gemacht (LiquidCrystal.h in meinem Verzeichnis kopiert) aber dann kommt die Meldung: Print.h nicht gefunden;
ich habe diese Print.h runter geladen und in meinem Verzeichnis kopiert, dann kommt die Fehlermeldung: intrinsics.h nicht gefunden.
Für diese intrinsics.h habe ich nichts im Internet gefunden.
 
Mit der Arduino IDE braucht man sich um das #include weiter nicht kümmern.
Aber wie schon erwähnt, im AVR-Studio funktioniert das dann nicht.
Verwende die Lib von Fleury, die funktioniert sehr gut, hab sie dir mal angehängt.
Funktioniert auch ohne R/W.
 

Anhänge

  • lcd_new.zip
    8,1 KB · Aufrufe: 8
Mit der Arduino IDE braucht man sich um das #include weiter nicht kümmern.
Aber wie schon erwähnt, im AVR-Studio funktioniert das dann nicht.
Verwende die Lib von Fleury, die funktioniert sehr gut, hab sie dir mal angehängt.
Funktioniert auch ohne R/W.

Vielen Dank Hubert, jetzt habe ich verstanden. Diese LiquidCrystal Bibliothek wurde speziell für die Arduino IDE entwickelt.
Ich finde schade, daß diese Bibliothek nicht mit anderen IDEs benutzen kann.
Ich finde auch schade, daß mit der Arduino IDE keine .hex Files erstellen kann.

Vielen Dank für die Dateien, ich sehe jetzt schon, daß damit funktionieren wird.
Grüße.
Abel
 
Hi,

Ich finde schade, daß diese Bibliothek nicht mit anderen IDEs benutzen kann.
Ich finde auch schade, daß mit der Arduino IDE keine .hex Files erstellen kann.

so wie ich oben auch schon geschrieben habe.

.hex = Intel-Hex-File (gibt auch Hex-File-Formate die von anderen Herstellern entwickelt wurden).

In den HEX-Files gibt es dann je nach Prozessortyp noch die Unterscheidung nach Big-Endian oder Little-Endian.
Dabei taucht bei einer 16Bit-Zahl dann entweder das untere Byte als erstes in der Liste auf oder das obere.

Bei den Hex-Files ist an erster Stelle in der Zeile angegeben an welche Speicheradresse des Bausteins die Zeile geschrieben werden soll. Diese Files sind eher für die Programmierung von total blanken Bausteinen in Verwendung. Aber Ausnahmen bestätigen die Regel. Je nachdem was sich da einer bei der Entwicklungsumgebung gedacht hat.

Bei Bootloadern werden die compilierten Programme in einem seriellen Datenstrom an den Bootloader der auf dem Controller läuft übergeben. Das kann über eine serielle Schnittstelle, Ethernet, USB oder sonstwas passieren was man da in den Bootloader reinprogrammiert hat. Da kann auch jeder Bootloader ein eigenes Format der übergebenen Daten verlangen. Es gibt sogar Bootloader die den Programmcode in verschlüsselter Form annehmen damit niemand an das Programm kommen kann und da evtl teure Entwicklungsarbeit abkupfern kann.

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)