Forum: Compiler & IDEs PORTC ^= 1 << PC4;


von Jens (Gast)


Lesenswert?

ISR (TIMER1_OVF_vect) {
    PORTC ^= 1 << PC4;
}

Kann mir jemand sagen, wie ich diese Codezeilen zu interpretieren habe.
ISR ist der Interrupt. Timer1 ist der 16bit Timer des Controllers, aber 
warum macht man eine XOR Verknüpfung zwischen PORTC und PINC 4 auf 1?

Danke!

Grüße

Jens

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Die Verknüpfung wird nicht zwischen PORTC und PINC gemacht, sondern
zwischen PORTC und PORTC.  Eine XOR-Verknüpfung eines Bits mit 1
schaltet dieses Bit in den jeweils anderen Zustand, d. h. mit jedem
Eintreten des Interrupts wechselt der Zustand von Pin PC4.

von asdf (Gast)


Lesenswert?


von Rolf Magnus (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Die Verknüpfung wird nicht zwischen PORTC und PINC gemacht, sondern
> zwischen PORTC und PORTC.

Eigentlich wird sie zwischen PORTC und 2 hoch 4 gemacht.

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.