Ansicht:   

#159512 C programmierung, problem mit input bitmaske (pc.coding)

verfaßt von Solderdot, 05.09.2009, 09:06:42

Wenn ich\'s recht verstehe, gibt der Kunde 2 Dinge vor:
1) ob ein Bit relevant ist
2) Den Zustand eines relevanten bits

Das kannst Du mit 2 Bitmasken lösen.
In der ersten setzt Du jedes Bit, welches relevant ist, in der zweiten, ob das Bit 1 oder 0 sein muss. In der zweiten Maske setzt Du jedes Bit, das nicht relevant ist, einfach auf 0.

Dann verundest Du den aktuellen Zustand am Port mit der Relevanz-Maske und vergleichst das Ergebnis mit der Zustandsmaske.

Beispiel:

Kunde Sagt, bei Bit0=0, Bit1=1 soll Aktion A ausgeführt werden, Bit 2 bis 7 egal. Dann sieht Deine Relevanz-Maske so aus: 0x03, und die Zustandsmaske hat den Wert 0x02.

Wenn an Deinem Port nun 0xFF anliegt, ist das Ergebnbis der Verundung 0x03, und da das nicht 0x02 ist, wird die Aktion nicht ausgeführt.

Wenn am Port hingegen 0xFE anliegt, ist das Ergebnbis der Verundung 0x02, und Deine Aktion wird ausgeführt.

Gruß
-- Solderdot

 

gesamter Thread:

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz