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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.