Hallo, ich habe ein LCD an einem Atmega 168 in Betrieb, aber es initialisiert nicht. Den Code verwende ich schon für mehrere LCDs (HD4478)(auf anderen Prozessoren), daher vermute ich den Fehler dort nicht, gerne aber anbei. Belegt ist alles wie folg auf einer professionell geätzten Platine (Platine auch mit Mulitmeter auf Durchgang gemessen, alles ok): RS --> Port C PC0 EN --> Port D PD3 Betrieb im 4-bit Modus DB4 --> Port C PC1 DB5 --> Port C PC2 DB6 --> Port C PC3 DB7 --> Port C PC4 Ich vermute, dass irgendwo beim compilieren irgendetwas schief geht. Daher meine Bitte, könnte mir jemand den Code compilieren und das hex-file anbei hängen? Natürlich soll der Code auch nach Fehler abegesucht werden, aber ich tue das schon seit 1h erfolglos. Vielleicht sehe ich aber vor lauter Bäume den Wald nicht mehr... Zusätzlich habe ich auf der Platine noch 2 LEDs (an PB4 und PC5) die ich per delay blinken lasse. Das tut es auch bei meinem Code. Das ganze läuft bei 16Mhz (ist aber überall auch so definiert, sprich in main und im makefile). Quarz ist aufgelötet und die LEDs blinken auch zeitgemäß im 500ms Rythmus. Also Timing passt ebenfalls. Danke. Beste Grüße David
Hi, Portc geht nicht... das klingt für mich schwer nach nem fabrikneuen Atmega, welcher noch mit JTAG Schnittstelle an gefused ist. Lese mal von einem anderen Gerät die Fuses aus und schau ob es geht. Tm
Also wenn der Code so funktioniert (für andere AVR's ?) dann würde ich auch auf falsch gesetzte Fuses Tippen. Gerade der Port C bei dem auch JTAG dran hängt, da würde ich auch erstmal wie Tim schwer auf JTAG tippen. Habe daran auch schon ein paar mal ein wenig länger gesucht. Fuse gesetzt, danach liefs direkt.
Ich habe das nun mal in AVR-Studio "kopiert", seltsamerweise läuft es da, mit dem dort eigens kreierten makefile. Also Programm ist definitiv daher fehlerfrei. Im Programmers Notepad gehts aber nicht. Komisch...
Hallo, ich habe die LCD Port meines Displays eingestellt und auch noch eine weiteres Defines "LCD_RW" für das R/#W Pin definiert, sowie die DDR und PORT Bits im lcd_init() dafür gesetzt. Also auf meiner Hardware mit meinem Makefile sehe ich die Testausgabe. Blink LED habe ich gelöscht.
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.