Hallo! Ich htte mir für meine atMEGA's die LCD-Lib die hier auf µC.net zu finden ist. Diese habe ich nun optimiert für xMEGA's. Anscheinend habe ich jedoch etwas fehlerhaft verarbeitet, denn das Display bleibt leer. Im Anhang ist meine Lib, vielleicht findet ihr einen Fehler. Danke, Martin
Martin Fischer schrieb: > Ich htte mir für meine atMEGA's die LCD-Lib die hier auf µC.net zu > finden ist. Vielleicht hast du das 'a' vergessen. Kontrolliere noch mal deinen Code.
'a' ?
ICh finde den Fehler leider nicht, kannst du mir auf die Sprünge helfen?
Gast
#3638309
Ich bin alles nochmals durchgegangen, ich beschäftige mich noch net solange mit xMegas's, ich finde einfach nichts.
Demian M. schrieb: > Ich bin alles nochmals durchgegangen, ich beschäftige mich noch net > solange mit xMegas's, ich finde einfach nichts. Das war vom PC meines Kollegen, das habe ich geschrieben ^^
Hallo, So funktioniert es bei mir! #define LCD_PORT PORTE #define LCD_DB 0 #define LCD_RS 4 #define LCD_EN 5 AVRSTUDIO 6 meldet hier: #define LCD_PORT PORTE #define LCD_DB PIN0_bm #define LCD_RS PIN4_bm #define LCD_EN PIN5_bm Warning left shift count >= width of type [enabled by default] Gruß G.G.
Kannst du die Lösung erklären? Kenne mich mit xMEGA net so aus
Gast
#3638459
Martin Fischer schrieb: > Kenne mich mit xMEGA net so aus Dann solltest du ein Blick ins Datenblatt oder zumindest ein Tutorial werfen, sonst wirst du die selben Fehler immer wieder machen. http://www.stromflo.de/dokuwiki/doku.php?id=xmega-c-tutorial hat die Lösung für dein Problem. Das _bm ist dein Stichwort.
damit spreche ich einzelne bits an?
Gast
#3638475
Hi >Dann solltest du ein Blick ins Datenblatt oder zumindest ein Tutorial >werfen, ... Datenblatt nutzt nicht viel. Da stehen nur typenbezogene Sachen drin. Aber zu jeder ATXMega-Familie gibt es ein Manual das ausführlich auf die Hardware eingeht. Z.B. für ATxmegaxyzAn http://www.atmel.com/Images/doc8077.pdf MfG Spess
Martin Fischer schrieb: > damit spreche ich einzelne bits an? Klick den Link an, dann hättest du die Lösung... Da steht doch klar und deutlich: 2.1 _bm (Bitmaske) Mit _bm können einzelne Bits des jeweiligen Registers gesetzt oder gelöscht werden. Das folgende Beispiel setzt das CLKSEL1 Bit für den Timer um einen Vorteiler von 2 einzustellen. Link öffnen, Ctrl + F, nach _bm suchen... ne sache von 10 Sek undd ie Frage hättest du dir damit gesparrt.
Gast
#3638479
Hi >Dann solltest du ein Blick ins Datenblatt oder zumindest ein Tutorial >werfen, ... Datenblatt nutzt nicht viel. Da stehen nur typenbezogene Sachen drin. Aber zu jeder ATXMega-Familie (A/AU/B/C/D/E) gibt es ein Manual das ausführlich auf die Hardware eingeht. Z.B. für ATxmegaxyzAn http://www.atmel.com/Images/doc8077.pdf MfG Spess
Gast
#3638486
Martin Fischer schrieb: > damit spreche ich einzelne bits an? Du willst bei deinem momentanten vorgehen einzelne Bits ansrpechen und zurechtrücken, aber arbeitest mit Bitmasken. spess53 schrieb: > Datenblatt nutzt nicht viel. Da stehen nur typenbezogene Sachen drin. Dann in die Appnot AVR1000 - Getting Started Writing C Code for Atmel XMEGA oder wie man das nennt. Diese ganzen Dokumente laufen für mich unter dem Begriff Datasheet.
ICh habe jetzt die Lib so wie du gesagt hast editiert, klappt trotzdem noch net, hier nochmal der aktuelle code.
Hallo, was für ein Display verwendest du genau? Bist du dir sicher, dass dein Display mit 3,3 Volt funktioniert? Ich habe deinen Code am PORTE mit einen Logikanalysator getestet. Die gesendeten Daten sind ordentlich angekommen. Code und Funktionalität deines Displays konnte ich natürlich nicht überprüfen. Gruß G.G.
Das Display ist korrekt. Hitachi HD78..... ich hatte es bisher immer mit 5V betrieben, dachte 3 machen es auch...
Gast
#3639156
Die meisten HD44780 laufen nur mit 5V, aber je nach Hersteller auch schon ab 3V. Auch wenn die Logik vom Display mit 3V läuft kann es sein, dass deine Kontrastspannung mit 3V zu niedrig ist. Da nochmal extra drauf achten. Ansonsten kann es noch an der Verkabelung liegen.
Kann ich einfach eine externe 5V Quelle da dranhängen? Wenn ja, wie genau?
Hallo, keine 5 Volt in Verbindung mit einem ATXMEGA!! Kannst du mal die genaue Pin-Belegung Atxmega -> Display aufzeigen (Datenbus, Steuerung). Gruß G.G.
Gast
#3639202
Hi Das Display bleibt an den 3,3V. Aber du brauchst eine negative Hilfsspannung. Am einfachsten zwei 1,5V Batterien in Reihe schalten und mit dem positiven Pol an Masse anschließen. Das Kontrastpoti dann statt an Masse am negativen Pol der Batterien anschließen. MfG Spess
Also: +#######-+########- ---> LCD_PIN3 ???
Gast
#3639855
HI >Also: >+#######-+########- ---> LCD_PIN3 >??? So wie im Anhang. MfG Spess
Ich nutze kein Poti^^
Gast
#3639908
Hi
>Ich nutze kein Poti^^
Warum nicht? Bei den wenigsten Displays ist VEE an GND eine optimale
Lösung. Und in dem Fall brauchst du eins. Die Spannung zwischen VEE und
VCC muss auf 4,5...5V eingestellt werden. Oder sagt das Datenblatt
deines Displays zu
Supply Voltage For LCD
oder so ähnlich etwas anderes?
MfG Spess
Hä? Was genau meinst du?
Gast
#3639939
Hi
>Hä? Was genau meinst du?
Was genau verstehst du nicht? Hast du schon mal in das Datenblatt deines
Displays gesehen?
MfG Spess
Jap. Da steht bei PIN3 0....0,5V
-> Also kann ich direkt 0 anschließen?
Gast
#3640142
Hi
>-> Also kann ich direkt 0 anschließen?
Nein. Die LCD-Spannung wird zwischen VEE und VCC gemessen. Dann
entsprechen die 0... 0,5V zwischen GND und VEE 4,5...5V zwischen VEE und
VCC. Und die 4,5...5V musst du jetzt mit dem Poti erzeugen. 3,3V(VCC)-
4,5...5V macht -1,2...-1,7 an VEE (gegen Masse). Also kannst du VEE
nicht an Masse anschließen.
MfG Spess
Ok. Ich teste das mit den BAtterien mal
Kommen keine 4,5V raus..ist doch aber klar bei 2x1,5V?? EDIT: Am PIN3 kommen jetzt -2,7V an, und es wird etwas angezeigt
Gast
#3640379
Hi
>... und es wird etwas angezeigt
Was?
MfG Spess
Na jettz wird text auf dem Display angezeigt, aber es kommen bei Kontrast-PIN -2,7V an, egal. Wie kann ich das ohne Batterien lösen?
Gast
#3640661
Hi >aber es kommen bei Kontrast-PIN -2,7V an, egal. Zum Einstellen der Spannung ist das Poti da. >Wie kann ich das ohne Batterien lösen? Z.B. mit einem 7660: http://www.intersil.com/content/dam/Intersil/documents/icl7/icl7660.pdf MfG Spess
Gast
#3640678
Hi Hier Beitrag "Re: ICL 7660 Spannungsinverterschaltung" sind noch ein paar andere Schaltungen. MfG Spess
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
