Hallo, ich versuche gerade den Programmtext eines anderen nachzuvollziehen und hänge an folgender Stelle: tccr0 |=(1<<cs02)| (0<<cs00) Hat mein Timer nun den Wert 00000001; 00000010 oder 00000100? oder was ganz anderes? xD Danke und Grüße, Oliver
Schau doch mal ins Datenblatt des uCs (Atmel nehme ich an). Das ist das Timer/Counter Control Register 0 und da gibts ne Beschreibung, was die einzelnen Bits machen. CS wäre in dem Fall "Clock select", damit bestimmst du wie schnell dein Counter zählen soll!
Oliver schrieb: > Hat mein Timer nun den Wert 00000001; 00000010 oder 00000100? oder was > ganz anderes? xD kann man nicht sagen weil man dafür den wert von tccr0 wissen müsste, denn hier wird nur ein Bit(cs02) zusätzlich gesetzt. Die anderen bleiben so wie sie sind.
also ausgehend von 00000000 erhalte ich 00000100 oder? insofern würde tccr0 |=(1<<cs02) doch reichen? der hintere Teil | (0<<cs00) also "oder 0" hat doch nie einen Einfluss oder sehe ich das falsch?
Oliver schrieb: > der hintere Teil | (0<<cs00) also "oder 0" hat doch nie einen Einfluss > oder sehe ich das falsch? Reichen schon, allerdings sieht man so direkt auf Anhieb wie die anderen Bits gesetzt werden und man kann es so sehr schnell anpassen wenn sich mal was ändert. Mach ich bei mir auch immer so, dass ich alle Bits angebe. Man sollte nur sicherstellen dass vorher in den Bits auch wirklich überall 0 drin steht bzw. statt |= nur = verwenden.
Sebastian H. schrieb: > überall 0 drin steht bzw. statt |= nur = verwenden. Und damit ändert man dann womöglich Bits, die für etwas ganz anderes da sind. @Oliver (Gast) Gewöhn' dir so einen Blödsinn gar nicht erst an. mfg.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.