Gast
#352476
Hallo, Ich habe ein Problem mit der Ansteuerung eines Standard-LCDs. Ich habe den Assembler-Code aus dem Tutorial für WinAVR umgeschrieben. Seinerzeit auf PortC hat das auch wunderbar funktioniert. Jetzt wollte ich auf PortD umstellen, da ich PortC anderweitig benötige (A/D-Wandlung) und in PortD die beiden Nibble vertauscht und E an Pin 3 und RS an Pin 2, da ich an Pin 0 und 1 die serielle Schnittstelle verwenden will. Prozessor ist ein Mega48 mit einem externen 3,6864MHz Quartz. Ich musste dafür die Bitschieberei der Originalversion natürlich etwas anpassen. Nachdem es nicht klappte, habe ich alles mögliche ausprobiert. Z.B. wieder die alte Software genommen und das LCD umgesteckt. Hat funktioniert. Den Controller gegen ein neues Exemplar getauscht, ein anderes Kabel. Daran lag es auch nicht. Ein alternatives LCD hat auch nichts gebracht. Gestern habe ich eine neue Platine gelötet, das war es auch nicht. Ich habe entweder den gleichen Fehler nocheinmal gemacht, bei der Hardware, oder PortD geht prinzipiell nicht, so wie ich es mir denke, oder was ich für das Wahrscheinlichste halte, ich habe einen dummen Fehler bei der Umstellung der Software gemacht. Ich habe da jetzt schon mehrere Tage die Software mit dem alten Stand verglichen. Ich weiss nicht mehr weiter. Falls einer von euch mal einen Blich drauf wergen könnte... hier noch die Belegung: alt neu PortC PortD 0 DB4 - 1 DB5 - 2 DB6 RS 3 DB7 E 4 RS DB4 5 E DB5 6 - DB6 7 - DB7 danke Dirk