Hiho Gemeinde,
hab hier eine Relaiskarte rumfliegen, zur Ansteuerung möchte die die Daten eben gerne in Binärer Form.
Ich möchte immer nur einzelne Relais hintereinander schalten. Somit reicht es ja das erste, zweite, dritte zu schalten.
Das erste ist:
1. Relais: 10000000
2. Relaus:01000000
und so weiter...
Ich weiß, dass ich das auch einfach im Kopf umrechnen könnte, aber gibt's dafür nicht eine sauberere Lösung?
Liebe Grüße,
Sören
Serieller Port - Binäre Zahlen
Wenn ich dich richtig verstanden habe, möchtest du zu einer gegebenen Relais-Nummer das entsprechende Bit setzen?
Das sähe dann so aus:
Btw, ist das erste Relais wirklich das höchstwertige Bit?
Das sähe dann so aus:
Code: Alles auswählen
set_relais(int number):
return (1 << (8-number))
Danke, genau danach hab ich gesucht.lunar hat geschrieben:Wenn ich dich richtig verstanden habe, möchtest du zu einer gegebenen Relais-Nummer das entsprechende Bit setzen?
Das sähe dann so aus:Btw, ist das erste Relais wirklich das höchstwertige Bit?Code: Alles auswählen
set_relais(int number): return (1 << (8-number))
Und nein, da hattest du Recht. War ein kleiner Denkfehler meinerseits =)
Liebe Grüße,
Sören