Forum: Mikrocontroller und Digitale Elektronik Frage zu Code von Funktionsgenerator


von Thomas (Gast)


Lesenswert?

Habe mir eben mal den Code vom Funktionsgenerator, den Andreas Schwarz
entwickelt hat, angesehen und versucht ihn nachzuvollziehen.
Jetzt habe ich eine Frage und zwar geht es um folgendes:

ldi temp1, low(COMPAREVALUE)      ; Compare-Wert laden; bei einem
Zählerstand von
                                          ; COMPAREVALUE wird der
Timer-Interrupt aktiv
        out OCR1AL, temp1
        ldi temp1, high(COMPAREVALUE)
        out OCR1AH, temp1
        ldi temp1, (1<<WGM12)|(1<<CS10)   ; Timer 1 starten, Frequenz
6553600/1 Hz
        out TCCR1B, temp1

        ldi temp1, (1<<CS02)|(1<<CS00)    ; Timer 0 starten, Frequenz
6553600/1024 Hz
                                          ; (dient als Zeitgeber für
die Verzögerungen
                                          ; bei der Tastenauswertung
und LCD-Ansteuerung)
        out TCCR0, temp1

        ldi temp1, 1<<OCIE1A              ; Timer 1 Compare-Interrupt
aktivieren
        out TIMSK, temp1

Wie der Timer funktioniert ist mir klar. Nur nicht die Befehle mit
denen er hier initialisiert wird.

z.B.: ldi temp1, (1<<CS02)|(1<<CS00)

was bedeutet "<<" oder der senkrechte Strich?

Danke im vorraus!

MFG
Thomas

von Franz (Gast)


Lesenswert?

1<<2 bedeutet, das bit 2 gesetzt wird. also 00000100.
| bedeutet oder. also bedeutet (1<<5)|(1<<3) 00101000.

von Thomas (Gast)


Lesenswert?

Danke für die schnelle Antwort.
Hast mir echt weiter geholfen.

MFG Thomas

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.