Forum: Mikrocontroller und Digitale Elektronik Status vom Output Pin abfragen


von Johann (Gast)


Lesenswert?

Hallo Leute ich habe einen XMEGA. Dort setze ich einge Ausgänge mit 
Hilfe der PORTA.OUTSET Funktion. Wenn ich jedoch jedoch wissen möchte 
wie gerade der Zustand des Ausgangs ist kann ich diesen wieder einlesen?

Kann ich den Zustand von Bit X am Port A abfragen obwohl er ein Ausgang 
ist? Oder muss ich mir den Zustand in einer Variable zwischenspeichern?

Wenn es ein Eingang ist kann man das ja wie folgt machen:

if(PORTA.IN & 0x40) == 0x40)
{
 das 6. Bit hat den Zustand 1
}
else
{
 das 6. Bit hat den Zustand 0
}


if(PORTA.OUT & 0x40) == 0x40) --> kann ich damit den Zustand der 
Ausgänge abfragen oder würde ich gleich wieder den Ausgang damit 
verändern?

von Dussel (Gast)


Lesenswert?

Den kannst du ganz normal wieder einlesen. PORTx ist R/W.

von Falk B. (falk)


Lesenswert?

@Johann (Gast)

>Kann ich den Zustand von Bit X am Port A abfragen obwohl er ein Ausgang
>ist?

Einfach das OUT Register lesen.

> Oder muss ich mir den Zustand in einer Variable zwischenspeichern?

NEIN.

>if(PORTA.OUT & 0x40) == 0x40) --> kann ich damit den Zustand der
>Ausgänge abfragen

Sicher.

> oder würde ich gleich wieder den Ausgang damit verändern?

Wie denn? Es it ein LESEzugriff.

von Johann (Gast)


Lesenswert?

Vielen Dank für diese Information das hat mir sehr weitergeholfen

von Peter II (Gast)


Lesenswert?

Falk Brunner schrieb:
>> oder würde ich gleich wieder den Ausgang damit verändern?
>
> Wie denn? Es it ein LESEzugriff.

so dumm ist die Frage nicht. Ein lesen von UDR ändert auch den wert.

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.