Forum: PC-Programmierung setzen von bits im Register


von Helge (Gast)


Lesenswert?

Hallo,
in einer RTC sollen bit7, bit0 und bit1 eingestellt werden.
TFS umfasst bit0 und bit1 im register.


bei minutes==true soll
-der Wert 3, also bit0 =1 und bit1 =1 gesetzt werden.

bei minutes==false soll

-der Wert 2, also bit0 =0 und bit1 =1 gesetzt werden.

Stimmt dieser Code so, da noch irgendetwas anderes im Register verändert 
wird in der Realität?
1
    bool minutes=true;
2
    // bool minutes=false;
3
    uint8_t tfs = (minutes ? 0x03 : 0x02);
4
    write_rtc_register(TIMER_CONTROL_REGISTER, 0x80 | tfs);

von c-hater (Gast)


Lesenswert?

Helge schrieb:

> Stimmt dieser Code so

Natürlich stimmt er einerseits und andererseits stimmt auch nicht.

Die (völlig unzureichende) Spezifikation des Ziels der Operation läßt 
beide Deutungen zu.

Fazit: Du musst noch sehr viel über formale Logik lernen. Wenn du soweit 
bist, dass du wenigstens in der Lage bist, eine kompetente Frage zu 
stellen, dann darfst du nochmal anklopfen...

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.