Forum: Mikrocontroller und Digitale Elektronik Frage zu stm32f4 github Tutorial


von Karsten (Gast)


Lesenswert?

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

von Gregor B. (Gast)


Lesenswert?

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.

von Karsten (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.