AVR C: Kann man den kompletten Port gleichzeitig einlesen?

Gast #1646611
Lesenswert?

Kurze Frage...

kann ich in C einen kompletten Port gleichzeitig einlesen? Ich meine 
würde sich bei einer 1Byte Variable ja durchaus lohnen wenn man komplett 
einlesen kann anstatt alle Pins einzeln durchzuschieben.

Bin gerade darüber und frage mich ob dies auch klappt?! Und wie der 
Ansatzpunkt dafür ist?!
#1646615
Lesenswert?

Draco schrieb:
> Kurze Frage...
>
> kann ich in C einen kompletten Port gleichzeitig einlesen? Ich meine
> würde sich bei einer 1Byte Variable ja durchaus lohnen wenn man komplett
> einlesen kann anstatt alle Pins einzeln durchzuschieben.
>
> Bin gerade darüber und frage mich ob dies auch klappt?! Und wie der
> Ansatzpunkt dafür ist?!

Ähm, ist das jetzt eine Fangfrage?

   i = PINB;   // liest den kompletten Eingangsport B ein

Tutorial Leser wissen mehr!
Moderator (Firma: Titel) Persönliche Seite #1646638
Lesenswert?

>>> kann ich in C einen kompletten Port gleichzeitig einlesen?
Ja.
1
uint8_t port;
2
port = PORTA;
Das resultiert dann im Assemblerbefehl IN.
Das Gegenteil wäre OUT:
1
PORTA = 0x55;
Aber vermutlich willst du gar nicht den Port einlesen, sondern den 
Zustand an den Pins...  :-o

> Wahrscheinlich verrätst Du uns auch gleich um welchen Prozessor es geht?
Überschrift gelesen????

> Andersherum - wie kann man den die pins einzel einlesen ?
Das wäre allerdings interessant...
Gast #1646787
Lesenswert?

Aso, hab ich vergessen - ich programmiere mit MicroC. Da kann man 
einzelne Pins mit PinA.F1 einlesen und ausgeben.

An PINB etc. hab ich garnicht gedacht -.- Der böse böse Wald und die 
vielen Bäume... :D

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren