Hallo, ich hab ein Problem mit der Steuerung von HD44780-based
LCD-Anzeige. Es läuft alles unter CodeVision mit Mega8. Es passiert
nichts, wenn ich PORTB als LCD- Port definiere, mit dem PORTD klappt es
einwandfrei. Den Oscillator habe ich mit den Fuses richtig eingestellt
(1MHz intern). Woran könnte es liegen? Mega8 ist neu, kaputt sollte es
nicht sein (ich hab schon mal erlebt, dass die Oscillator-Pins PB6 und
PB7 kaputt waren, aber in diesem Fall liegt es bestimmt nicht daran).
Mit freundlichen Grüßen, Aleksej.
P.S. __lcd_port=0x18;
Es ist wirklich interessant, ich hab alles mögliches abgeschaltet, es
geht ja trotzdem nicht. Ich vermute, dass der Controller nicht in der
Lage ist, LCD abzufragen, deshalb sturzt das Programm ab. Was könnte
mit den Pins von PORTB falsch sein???
Natürlich habe ich es geöffnet. Das Problem liegt wahrscheinlich daran,
dass Controller aus irgendwelchen Gründen keine Information von der
Anzeige kriegt. Pins 6 und 7 von dem PORTB sollen doch aktiv sein, wenn
ich interner Oscillator einsetze oder?
weil CodeVision testet die, um festzustellen, ob LCD bereit ist. Aber
ich habe gerade procedure von CodeVision so geändert, damit es nur
abgewartet ist, ohne Abfrage. Funktioniert trotzdem nicht
vielleicht ist ja der Watchdog an(ist er glaube ich beim ATMEGA8
standartmäßig), das heißt, wenn du ihn nicht regelmäßig zurücksetzt,
startet er den µC neu
vielleicht kommt er deswegen ja nie bis zu der Stelle, an der etwas mit
dem Display geschieht
Abhilfe würde schaffen, indem man den Watchdog entweder per Fusebits
oder softwaremäßig ausschaltet
aber wie gesagt, es ist nur eine Vermutung
Schwarze Balken, als ob es nicht initialisiert wurde. Aber um es klar zu
machen - an dem Programm liegt es nicht. Entweder stimmt was mit Mega8
nicht (es soll nicht unbedingt kaputt sein! Kann sein, dass die Pins 6
und 7 von PORTB sind irgendwie anders gebaut) oder soll ich bei den
Fuses noch irgendwas einzustellen.
Mir fällt da gerade ein, daß ich kürzlich ne Mail von jemandem bekam,
der sein LCD auch nicht an Port B vom ATm8 zum laufen bekam. Als er es
dann mit Port D probierte, funktionierte alles einwandfrei. Ist jetzt
nicht wirklich ne Hilfe, aber schon seltsam.
Thorsten
Ich hab es rausgekriegt! Das Problem lag an STK500, da sind diese Pins
(PB6 und PB7) NICHT an den PORTB angeschlossen! Die kriegt man bei dem
PORTE/AUX (XT1 und XT2). Ich finde es irgendwie unlogish...
Aber trotzdem danke!!!
Eine eigene Frage?
Dieser Thread ist über 22 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.