Forum: Mikrocontroller und Digitale Elektronik Schaltdiagramm nachvollziehen


von Stefan P. (speedo)


Angehängte Dateien:

Lesenswert?

Hallo,
ich möchte gerne das "General Digital I/O (ATMEL AT90CAN12)"-Diagramm 
verstehen. Ich interessiere mich für 4 bestimmte Situationen

- Das Schaltbild mit den von mir eingezeichneten Wegen ist im Anhang.

Situation 1 [Grün,Schreiben]:
Der Befehl "DDRA |= _BV(PA0);" legt fest, das der PortA,Pin0 auf Ausgabe 
geschaltet wird.
Mit "PORTA |= _BV(PA0);" setze ich den Pin0 auf 1. Diese beiden Befehle 
müssten die grünen Weg nehmen?!

Situation 2 [Rot, Schreiben]:
Nur der Befehl "PORTA |= _BV(PA0);" verursacht den roten Weg, da 
standardmäßig die Richtung der Ports auf Input geschaltet ist?

Situation 3 [Blau, Lesen]:
PINA & _BV(PA0) verursacht das Lesen am PortA,Pin0 und damit wird der 
blaue Weg gegangen?!

Situation 4 [Braun, Lesen]:
Wie mache ich das und ist der Weg überhaupt so vollständig richtig?

Vielen Dank im Voraus.
Liebe Grüße
Stefan

von Uwe W. (dk1kq)


Lesenswert?

Hallo Stefan,
auf den ersten Blick
wenn der Mosfet durchschaltet, hast Du + V am Ausgang

Gruß Uwe

von spess53 (Gast)


Lesenswert?

Hi

Der Mosfet schaltet den internen Pull-Up. Und zwar unter den 
Bedingungen:

- Pull-Ups müssen erlaubt sein (PUD)
- Portpin muss Eingang sein
- Portxn muss H sein

Der eingeschaltete Pull-Up bewirkt, dass ein offener Eingangspin einen 
definierten Pegel (H) erhält.

MfG Spess

von Stefan P. (speedo)


Lesenswert?

> Der eingeschaltete Pull-Up bewirkt, dass ein offener Eingangspin einen
> definierten Pegel (H) erhält.

Das heißt ich setze den Pin0 vom PortA auf 1 obwohl der PortA auf 
Eingang(Input) geschaltet ist? Ist er in dem Moment dann auf 
Ausgang(Output) geschaltet?

von spess53 (Gast)


Lesenswert?

Hi

>Das heißt ich setze den Pin0 vom PortA auf 1 obwohl der PortA auf
>Eingang(Input) geschaltet ist? Ist er in dem Moment dann auf
>Ausgang(Output) geschaltet?

Nein.

MfG Spess

von Stefan P. (speedo)


Lesenswert?

Ah. Okay, habe es verstanden. Danke euch.

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.