Guten Morgen Ich habe ein kleines Testprogramm geschrieben das AVR Studio Simulator auch funktioniert. Wenn ich allerdings den JTAG ICE mk Debugger einsetzte geht leider nicht mehr viel. Ich habe einen Timer so programmiert das er bei einem Compare Match (Datenregister = Vorgabewert) den Outputpin (PIN D5) auf 1 setzt. Der Zustand des PIN D5 wird ständig überwacht. Wenn es gesetzt wird geht das Programm weiter. Als nächstes wir der Timer angehalten und das PIN D5 wieder zurückgesetzt. Aber genau da liegt das Problem es lässt sich nicht zurücksetzen. Der Befehl cbi funktioniert einfach nicht! Ich habe es auch mit ldi temp, 0x00 und out PIND,temp probiert ging aber ebenfalls nicht. Des Weiteren ist der Timer eigentlich so eingestellt dass er bei einem Compare Match sein Datenregister zurücksetzt. Das macht er ebenfalls nicht. Ich komme einfach nicht drauf was das sein könnte da es ja in der Simulation einwandfrei funktioniert. Ich habe außerdem nichts an den ATMega 16 angeschlossen. Die .asm Datei befindet sich im Anhang. Den uC betreibe ich mit einem externen Quarzoszillator mit 8MHz. Die notwendigen Bits habe ich mit PonyProg eingestellt. Ich hoffe jemand kennt dieses Problem und kann mir helfen. mfg Marc
PINx ist immer Input und dient der Abfrage des aktuelle Portzustandes. Als Output dient das PORTx Register. Daher macht ein cbi/sbi PINx wenig Sinn. sbi/cbi PORTx,Bit wäre der richtige Befehl.
Das is schon richtig im simmulator kann ich aber auch ein PIN mit cbi löschen nur mit dem JATG ICE nicht. Eimal gesetz lässt es sich nicht mehr zurücksetzten.
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.