Serieller Port - Binäre Zahlen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Iopodx
User
Beiträge: 68
Registriert: Sonntag 5. September 2004, 08:58

Freitag 5. Dezember 2008, 22:15

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
lunar

Freitag 5. Dezember 2008, 23:11

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?
Iopodx
User
Beiträge: 68
Registriert: Sonntag 5. September 2004, 08:58

Samstag 6. Dezember 2008, 11:49

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
Antworten