Moin, ich sitze jetzt den dritten Tag daran das LCD meines myavr boards zu Programmieren, um es gleich vorweg zu nehmen, es geht garnichts, ich scheiter einfach daran diese lcd routinen umzuprogrammieren, ich denke ich muss mal ganz unten anfangen, sonst bekomme ich da nie nen Fuß an den Boden. Um zum Beispiel nen Display zu clearen, wäre der Hex-Code 0x01, d.h. das Bit D0 auf 1 liegt und alle anderen auf 0, nur wie soll ich D0 auf 1 setzen wenn dieses laut Schaltplan garnicht angeklemmt sind?!? Laut Schaltplan ist nur Db 4-7 RS E /RW und die Hintergrundbeleuchtung angeklemmt..
Stichwort: 4-bit Modus, also nacheinander 2 Nibbles schicken
Versager wrote: > Laut Schaltplan ist nur Db 4-7 RS E /RW und die > Hintergrundbeleuchtung angeklemmt.. Das ist korrekt. Das Display wird offensichtlich im 4Bit-Modus betrieben, das bedeutet, daß zuerst das High- und dann das Low-Nibble eines Bytes in zwei getrennten Schreiboperationen übertragen werden. Vieleicht erzählst du mal, welche Quellen du gerade versuchst umzuschreiben....
Zuerst hab ich ausprobiert die Routine ausm gcc tutorial zu übernehmen, ich war schon so weit das ich das ganze im wincc compiler ohne fehler kompilieren konnte. So wie es aussieht passen die Ports aber in keinster weise, also hab ich versucht das anzupassen. // Pinbelegung für das LCD, an verwendete Pins anpassen #define LCD_PORT PORTD #define LCD_DDR DDRD #define LCD_RS 2 //Rs bit #define LCD_EN 3 //Port D 3 LCD Enable Aber das wird wohl etwas aufwändiger, da ich ja so erstmal keine Möglichkeit hab die einzelnen Pins zu definieren, sondern nur den Port.. und das bringt ja schonwieder das nächste Problem.. Also wenn ich das richtig verstehe kann ich dem Display quasi sagen welche 4 Bit ich welchem Bereich zuordne? Ich werde morgen mal etwas konkreter mein Kopf ist voll nach dem ganzen rumprobieren.. ;)
Hier ist eine Routine mit der Du die Ports einzeln einstellen kannst (lcd.h) Funktioniert dann auch mit dem myAvr Display. Benutzt Du auch ein Programmer Board von myAvr ? Wenn nicht, dann mußt Du aufpassen wie die Pins des LCD Displays auf die Pins der myAVR LCD Platine rausgeführt werden. In der Beschreibung ist nämlich ein Fehler. LCD Pin1 und 2 sind vertauscht. Gruß Stephan
Danke Danke!! Mittlerweile hab ich doch noch eine Routine gefunden die passend fürs myAvrboard mit dem dazugehörigen LCD ist!! werd mir das mal näher betrachten und sicherlich noch die ein oder andere Frage haben!! Für alle die noch suchen hier der passende link! http://roman.mainer.de/mikrocontroller/avr/myavr_lcd/
Dem Quellcode nach konnte das mit dem Code aus dem GCC-Tutorial nicht funktionieren. MyAVR scheint den Port so belegt zu haben: DB4-7 PortD4-7 RS PortD2 E PortD3 Das Tutorial hingegen erwartet, das der Datenbus auf PortD0-3 und RS und E auf PortD4&5. Das bedeutet, daß die aleinige Anpassung von RS & E im Tutorial das Ding noch nicht zum funktionieren bringen kann. Wenn mal einer von euch die Portbelegung vom MyAVR früher gepostet hätte, hättet ihr bestimmt nicht alleine solange suchen müssen. War denn beim MyAVR-Board kein beispielcode dabei?
Ich habs wohl nen bischen blöd geschrieben, oben hab ich versucht zu erklären das sich die ports nicht vernünftig anpassen lassen ;) War leider kein c-code dabei, ich glaub in dem Übungsheft ist einer drin aber das muss man extra kaufen. Nach wie vor find ich den Aufwand um nen lcd hell zu kriegen viel zu hoch, in der schule haben wir nen anderes experimentierboard wo wir mit keil arbeiten, da schickt man die hex-codes zum initialisieren einfach an ne adresse und fertig ist die kiste.. bin halt nen bischen verwöhnt ;)
es funkt es funkt wrote: > Nach wie vor find ich den Aufwand um nen lcd hell zu kriegen viel zu > hoch Das da kein Beispielcode und keine Pinbelegung bei sein soll, kann ich kaum glauben. Wenn dem so sein sollte, hast du natürlich recht. Zumindest wäre dann von MyAVR für Anfänger abzuraten. Das Keil wirklich besser sein soll, kann ich aber kaum glauben.
Nachdem ich mich jetzt mal interessehalber selbst umgeschaut habe, muss ich sagen, das die hier aufgestellten Behauptungen falsch sind. Im Downloadbereich von MyAVR (http://www.myavr.de/download.php) findet man sowohl technische Detailinformationen (Archiv_MyAVRLCD_22.zip) mit der Pinbelegung, sowie eine Testapplikation (LCD_TEST.HEX) für das LCD. Die hier genannten Startschwierigkeiten sind also hausgemacht...
ne pinbelegung ist dabei, das ist auch alles super dokumentiert, gerade für Anfänger haben die da viel gemacht, sogar nen paar basics wie man richtig lötet etc. Zum Testen der Komponenten ist ein kleines Programm dabei mit dem man verschiedene Beispielprogramme brennen kann um zum Beispiel das LCD zu testen..nen Quellcode kriegt man da jedoch nicht zu Gesicht. Zusätzlich gibt es noch eine DemoVersion von myAvr Workpad, aber in der Demoversion sind nur ein paar Assembler Vorlagen wie man zum Beispiel nen Port auswertet etc. LCD fehlt völlig, dazu müsste man dann schon die Vollversion kaufen ;) Nichts desto trotz hab ich jetzt 26 Euro für das Bord+LCD+CD bezahlt, das ist ja eigentlich nen Preis der in Ordnung geht..
irgendwie verstehen wir uns immer falsch ;) ich hab doch nie behauptet keine pinbelegungen zu haben
es funkt es funkt wrote:
> ich hab doch nie behauptet keine pinbelegungen zu haben
Tja, wenn einer von euch die mal früher gepostet hätte, hätte auch
jemand helfen können, der myavr nicht hat. Mich also eingeschlossen.
ich hab mich doch garnicht beschwert das es lange oder zu lange gedauert hätte mich hat auch nie einer nach der pinbelegung gefragt eigentlich beschwer ich mich über garnichts, alles läuft und ich bin zufrieden
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.