Forum: Mikrocontroller und Digitale Elektronik Frage zu internen Pull-Up´s


von Lutz Müller (Gast)


Lesenswert?

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

von Christof Krüger (Gast)


Lesenswert?

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.

von crazy horse (Gast)


Lesenswert?

Der Pinzustand (PinA o.ä.) wird vom Studio überhaupt nicht beeinflusst -
die Software kann ja nicht wissen, ob es extern auf low liegen sollte.

von Christof Krüger (Gast)


Lesenswert?

da hab ich doch glatt zu weit gedacht, er hats ja nur simuliert =)

von AVRli (Gast)


Lesenswert?

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

von Christof Krüger (Gast)


Lesenswert?

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