mikrocontroller.net

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


Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: asdf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.