Hallo zusammen, aus dem AVR-GCC Tutorial bin ich in dieser Sache nicht schlau geworden, und die Simulation mitAVRStudio widerspricht meiner Erwartung. Betreff: active-low Schalter Ich habe an PX2 von PORTX einen Schalter gegen Masse. Ich setze DDRX auf 0b1111011, also alles Ausgänge ausser meinem Pin PX2, der ein Eingang ist. Mit PORTX = 0xff schalte ich alle pull-ups ein, also sind ohne externe Beschaltung meine Pins alle auf high(5V), egal ob als Eingangs- oder Ausgangspin konfiguriert. Wie sieht dann das register PINX aus? alle Pins sind high, also müsste das register doch auch 0xff sein. Ist es aber nicht in der Simulation mit AVRStudio. AVRStudio sagt PINX=0x00. Ich werde den AT90CAN128 verwenden. Die HW existiert noch nicht - kann es nicht ausprobieren. Ich simulier grad in AVR Studio... mg, Johannes
Du hast Recht. Die Frage ist nur, was es an Schaltern grossartig zu simulieren gibt? MfG Falk
> Wie sieht dann das register PINX aus? > alle Pins sind high, also müsste das register doch auch 0xff sein. > Ist es aber nicht in der Simulation mit AVRStudio. AVRStudio sagt > PINX=0x00. Mach noch einen Schritt weiter (F10). Alle Pins die du als Ausgang geschaltet hast, werden auch im PIN Register zu 1. Der einen Pin, den du auf Eingang gelassen hast, bleibt 0. Dies deshalb, weil AVR-Studio keine unbeschalteten Eingänge kennt. Für AVR-Studio ist ein Eingang entweder low oder er ist high. Welcher der beiden Zustände anliegt, entscheidest du, indem du mit der Maus in der Portansicht in das Kästchen klickst.
Hallo, danke für die Antworten. @Falk: du hast recht, sowas muss man eigentlich nicht viel simulieren. Bin das Programm testweise durchgegangen und habe eben diese "Fehler" bemerkt. Eigentlich gehts um was anderes @kbucheg Danke, das hätte mir auch selber einfallen sollen! Manchmal hilft einfaches Überlegen weiter. mg, Johannes
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.