Hallo, mal ´ne Verständnisfrage: Wenn ich DDRA = 0x00; // Port A als Eingang definieren PORTA = 0xFF; // interne Pull-Up´s an Port A aktivieren müßte doch über die Pull-Up´s nach dem nächsten Takt High an PINA anliegen, oder? Wenn ich das Zeile für Zeile im Atmel Studio 4.09 simuliere und mir PINA anschaue, bleiben die aber auf Low. Wo habe ich meinen Gedankenfehler? Gruß Lutz
Schau dir mal im Datenblatt das Kapitel über Ports an. Im Datenblatt vom ATmega16 ist z.B. Figure 23 auf Seite 49 interessant. Nachfolgend (Figure 24) ist auch noch ein Timing-Diagramm eingezeichnet. Demnach ist direkt nach dem Schalten der Pullups schon der Zustand davor gelatcht worden und daher kriegst du ein LOW Signal.
Der Pinzustand (PinA o.ä.) wird vom Studio überhaupt nicht beeinflusst - die Software kann ja nicht wissen, ob es extern auf low liegen sollte.
Hi, ich habe mir so geholfen... ;---PORT B--- clr wrH out DDRB,wrH ; PortB Eingang ldi wrH,$FF out PORTB,wrH ; Pullups ein! out PINB,wrH ; PortB für den Simulator auf H Ja ist nicht optimal aber besser für die Übersicht. MfG AVRli
Du kannst auch externe Stimuli anlegen, um bestimmte externe Einflüsse zu simulieren. Schau mal in der Hilfe unter "AVR Studio-->Simulator-->Port logging and stimuli"
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.