Zitat :
|
Du musst doch vorher dem Port sagen wie er Arbeiten soll.
z.b.
ldi r16, 0b00000000 ; alles eingang
out ddrc,r16
in r16, pinc ; alle pins lesen
ldi r16, 0b11110000
out ddrc, r16 ; 4x ausgang, 4x eingang
wenn du sowas nicht hast, wird es nicht gehen.
|
Für wie dumm hälst du mich?
Natürlich hab ich die Eingänge und Ausgänge vorher definiert! Sonst wäre ja gar nix gegange.
Ich wollte mir nur die Arbeit sparen bis ins Detail hier alles zu beschreiben.
Bevor ich es vergesse, auch eine Endlosschleife ist noch reinprogrammiert...
Mich verwundert am Meisten warum die Bit's 3 bis 0 richtig arbeiten nur die Bit's 7 bis 4 des PortC bereiten mir Sorgen.
Wie schon oben beschrieben, hatte ich genau das selbe Fehlerbild mit einem zweiten Atmega 162 den ich ausprobiert hatte.
Als ich das selbe Programm auf einen Atmega 8515 aufspielte, zeigte der PORTC alles richtig an!!!!!
Es muss also irgendwas im Atmega 162 verändert wurden sein?
zB Die AT90S Serie braucht bei der ersten Inbetriebnahme einen externen Taktgeber! Während die ATmega Serie mit einem internen 1MHz Takt startet.
Über die Fusebits kann man das zwar umstellen, aber ich vermute, das hier auch eine Änderung von Atmel vorgenommen wurde.
Ich habe das Datenblatt des Atmega 162 schon paar mal durchgearbeitet, aber bin bis jetzt auf keine Besonderheit des PORTC gestoßen!
Midnight schrieb: Das eventuell auf dem PORTC sein JTAG liegt. Wenn das so sein sollte, könnt der firmenmäßig aktiv sein, das man den erst deaktivieren muss?
PS Um es gleich auf den Punkt zu bringen was ein JTAG ist, weiß ich nicht und hab es auch noch nicht rausbekommen...