unverständliche Zeile in C-Code

#1248230
Lesenswert?

c_anfänger schrieb:
> erstmal danke, ich bekomme also eine 1, wenn ich an den vierten PIN von
> PORTc 5v anlege?
1
return(PINC & _BV(0) ? 1 : 0);

Wie kommst du da auf den vierten Pin? _BV(x) ist nichts anderes als
1
1 << x
damit ergibt sich 1 << 0, bzw. ausgerechnet halt 1. Wenn du nun PINC 
damit maskierst, bleibt eine Eins übrig, wenn Bit 0 eine Eins liefert.

Noch was: Lass die Klammern um den ganzen Return-Ausdruck weg, return 
ist keine Funktion.
Gast #1248239
Lesenswert?

>ich wage mal einen schuss ins blaue ^^

Wohl eher in ein sehr dunkelblaues Etwas mit Schornstein dran.

>wenn an PORTC  der pin PB0   1 ist wird  1  zurückgegeben wenn PB0  0
>ist wird  0 zurückgegeben

Wäre das das Ding reif zum patentieren.

Wenn PB0 == Pin0 an PortB 1 wird...

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