Forum: Mikrocontroller und Digitale Elektronik Frage zum Debuggen im AVR Studio


von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Hallo!

Ich bin zur Zeit bissel am basteln eines kleinen Programmes. Es ist eine 
kleine Tasterabfrage, wo ich zwischen kurz und lang drücken 
unterscheide, bei kurz drücken soll eben einfach mal eine andere LED 
aufleuchten, als beim lang drücken.

Wenn ich mein Prog auf meinen Atmage 8 probiere, funktioniert es nicht 
so, wie es soll, darum wollte ich die Debugfunktion vom AVR Studio 
nutzen, um Schritt für Schritt rauszufinden, wo meine Fehler liegen. Nur 
reagiert mein Debuggen anders, als der µC. Ich kann sozusagen den Fehler 
nicht wirklich im simulieren reproduzieren.

Jetzt zu meiner Frage, wenn ich im Programm die Pullup Wid. mittels 
logischer 1 in das PORTX register aktiviere, zuvor natürlich das DDRX 
auf Eingang mittel logischer 0 geschrieben habe, kann ich im µC über die 
Abfrage von PINX ja die Zustände der Eingänge abfragen. Wenn ich das 
jetzt aber simuliere, erscheint unter PINx gar nix, sondern nur unter 
PORTx, wo ich eben meine Pull Up widerstände eingeschalten habe. Muss 
ich an die PINx-Stellen jetzt manuell meine logische 1 machen, wenn kein 
Taster gedrückt ist, oder habe ich einen Programmierfehler gemacht und 
das AVR Studio sollte dieses eig von allein machen?

Vielen Dank schonmal im Voraus für eure Hilfe



Dennis
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dennis H. schrieb:
> Muss ich an die PINx-Stellen jetzt manuell meine logische 1 machen
Ja.
Das PIN-Register hat mit dem Port überhaupt nichts zu tun. Klar: sie 
sind am selben IO-Treiber angeschlossen, aber das wars dann schon. Denn 
es könnte in der Realität sogar sein, dass du eine 1 via PORT ausgibst, 
wegen eines Kurzschlusses am uC-Pin aber eine 0 im PIN zurückliest...
Und so ein Verhalten kann der Simulatior nicht selbständig nachbilden.
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
Noch kein Account? Hier anmelden.