Hallo Wie schon gesagt Anfängerfrage Ich möchte für mein kleines Programm folgendes erreichen. 1. Quick Watch aktivieren 2. Step by Step das Programm "manuell" durchlaufen lassen 3. Die Variable X auslesen. 4. Den Port B im I/O Fenster sehen. Ich hoffe ihr könnt mir helfen. Bestimmt mach ich irgendwo einen doofen Fehler... Im Forum hab ich mich auch schon umgesehen. Die Beiträge die sich mit Breakpoints beschäftigen gehen leider zu tief in die Materie. Das GCC Tutorial konnte mir auch nicht weiterhelfen. Angefügt ist auch ein Bild meines Programmes Kurz zur Funktionserklärung: Das Programm steuert eine LED auf dem STK500 10 mal an. Nach dem 10. Mal bleibt die LED aus.
Hi, Ich könnte mich irren - aber können AVRs überhaupt im debug modus laufen über den ISP mit nem STK500? Mir ist so als ob man dafür diese Atmel-ICE Development Kits braucht. Bei Irttum bitte nicht gleich kürschnern ;) Gruß, Micha
Hi >Bestimmt mach ich irgendwo einen doofen >Fehler... Ja, du hast das falsche Tool. Mit dem STK500 geht das nicht. Bleibt nur der Simulator übrig. Da würde ich aber die Delays (wesentlich) kleiner machen. Sonst wartest du dich tot. MfG Spess
Wenn ich den Simulator auswähle muss ich ja in "Programming Device" auch wieder meinen uC einstellen. Leider finde ich diesen aber nicht. Der uC ATmega8515 ist nicht vorhanden. Kann man die Bibliothek upgraden? Oder welche Möglichkeiten hab ich?
Michael B. schrieb: > Kann man die Bibliothek upgraden? Ich würde mal lieber deine Hardware upgraden. Der Controller ist älter als Methusalix' Oma.
Hi
>Der uC ATmega8515 ist nicht vorhanden.
Dann nimm einen anderen. Z.B. ATMega164PA.
MfG Spess
Danke funktioniert Musste noch das Device auf den gleichen uC ändern aber nun Funktioniert es soweit. Also erstmal danke Problem 1 2 & 4 sind gelöst Aber dennoch kann ich immernoch nicht die Variable x oder y auslesen. Bei location steht : Unknown location Anbei auch ein Bild Unten Links ist mein Watch1 mit den Variablen
Michael B. schrieb: > Aber dennoch kann ich immernoch nicht die Variable x oder y auslesen. Schalte mal die Optimierung aus. Es ist oft so, dass der Compiler die Variable gar nicht anlegt und dann kannst du sie auch nicht auslesen.
BTW, nur so als Hinweis: du willst PB0 setzen und löschen, also toggeln? Dann entweder direkt
1 | PORTB ^= (1<<PB0); // Toggle |
oder zumindest zum Setzen die eine Zeile ändern in
1 | PORTB |= (1<<PB0); // hier die ODER/GLEICH-Konbi verwenden |
Sonst setzt du die restlichen Bits von PORTB auf 0. Macht in dem Beispiel nichts aus, in anderem Zusammenhang schon.
Michael B. schrieb: > wo findet man die Optimierung? Ich verwende nicht das Studio 7, aber auch dort müsste es unter 'Project' zu finden sein.
Danke Hab es gefunden und nun funktioniert es Glücklich
HI >PORTB ^= (1<<PB0); // Toggle >oder zumindest zum Setzen die eine Zeile ändern in >PORTB |= (1<<PB0); // hier die ODER/GLEICH-Konbi verwenden Oder einfach eine 1 im PIN-Register setzen. MfG Spess
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.