Seite 1 von 1

Serieller Port - Binäre Zahlen

Verfasst: Freitag 5. Dezember 2008, 22:15
von Iopodx
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

Verfasst: Freitag 5. Dezember 2008, 23:11
von lunar
Wenn ich dich richtig verstanden habe, möchtest du zu einer gegebenen Relais-Nummer das entsprechende Bit setzen?

Das sähe dann so aus:

Code: Alles auswählen

set_relais(int number):
    return (1 << (8-number))
Btw, ist das erste Relais wirklich das höchstwertige Bit?

Verfasst: Samstag 6. Dezember 2008, 11:49
von Iopodx
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:

Code: Alles auswählen

set_relais(int number):
    return (1 << (8-number))
Btw, ist das erste Relais wirklich das höchstwertige Bit?
Danke, genau danach hab ich gesucht.

Und nein, da hattest du Recht. War ein kleiner Denkfehler meinerseits =)

Liebe Grüße,
Sören