Hallo, ich bin gerade ein wenig am µC lernen zusammen mit dem github Tutorial. Nun ist mir eine Sache nicht ganz klar und hoffe hier auf eine kurze Erklärung. Zitat Tutorial: " Die obersten 6 Bit des CR1-Registers sind als "Reserved" angegeben und sollten unverändert bleiben. Um unseren Zähler zu konfigurieren setzen wir also einfach die unteren 10-Bit des CR1- Registers auf 0: */ TIM3->CR1 &= 0xFC00; " Zitate Ref Man: " 14.4.1 TIMx control register 1 (TIMx_CR1) Address offset: 0x00 Reset value: 0x0000 Bits 15:10 Reserved, must be kept at reset value. " mit 0xFC00 setzen wir doch 10-15 auf 1 und laut manuell müssen sie auf reset value = 0x0000 stehen. Kann mir das jemand erklären? Danke und beste Grüße
Karsten schrieb: > TIM3->CR1 &= 0xFC00; Karsten schrieb: > mit 0xFC00 setzen wir doch 10-15 auf 1 und laut manuell müssen sie auf Es steht dort nicht TIM3->CR1 = 0xFC00, was die Bits 10 bis 15 auf 1 setzen würde, sondern TIM3->CR1 &= 0xFC00, was eine bitweise UND-Verknüpfung der Werte der Bits 10 bis 15 mit 0b1 bedeutet. 0b0 & 0b1 = 0b0, 0b1 & 0b1 = 0b1. Also wird der Inhalt der Bits 10 bis 15 bei dieser Operation nicht verändert.
Mist, da ist mir wohl der kleine aber feine Unterschied entgangen :) Vielen Dank für die Hilfe. Eine kleine Frage noch: ich könnte auch anstelle von TIM3->CR1 &= 0xFC00, einfach TIM3->CR1 = 0x0000, schreiben oder wäre das falsch?
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.