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.