Was bedeuten |= und &=? STM32 Programmierung

Gast #4511287
Lesenswert?
• ▲
▼
Guten Tag,

ich lerne das Programmieren mit dem STM32 Discovery Board und habe ein 
paar Fragen zu den unteren Befehlen. Mit dem ersten schalte ich die 
Taktversorgung für Port D an.

RCC->AHB1ENR |= 0x3;
RCC->AHB1ENR &= 0x3;

Was ist der Unterschied zwischen diesen beiden Befehlen beziehungsweise 
was bedeutet |= und &= ?
Gast #4511292
Lesenswert?
• ▲
▼
mompf schrieb:
> Guten Tag,
>
> ich lerne das Programmieren mit dem STM32 Discovery Board und habe ein
> paar Fragen zu den unteren Befehlen. Mit dem ersten schalte ich die
> Taktversorgung für Port D an.
>
> RCC->AHB1ENR |= 0x3;
> RCC->AHB1ENR &= 0x3;
>
> Was ist der Unterschied zwischen diesen beiden Befehlen beziehungsweise
> was bedeutet |= und &= ?

"a &= b" ist gleichbedeutend mit "a = a & b"
"a |= b" ist gleichbedeutend mit "a = a | b"

Was "&" und "|" bedeuten, weißt du?
#4511298
Lesenswert?
• ▲
▼
Das erste ist ein binäres oder mit zuweisung und das zweite ein binäres 
und mit zuweisung

Es wird der Wert aus dem Register genommen, anahnd des Befehls mit dem 
Rechten wert verrechnet und wieder in das register geschrieben

(nur 4 bit dargestellt)
Falls AHB1ENR = 0b0001
0x3 entspricht  0b0011

1.Fall: AHB1ENR = 0b0011 = 0b0001 | 0b0011
2.Fall: AHB1ENR = 0b0001 = 0b0001 & 0b0011

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren