Registriert seit: 17. Apr 2008
7 Beiträge
|
AW: Übersetzung von C nach Delphi (IOCTL)
22. Dez 2015, 13:01
Eigentlich müsste es so sein, das Data_B ein Port ist. Auf einen Port werden meist 8 IO´s zusammengefasst.
Der Wert den du auf den Port zuweist, stellt in Binärschreibweise dann den Zustand der Pins dar.
Also wenn du dezimal 4 zuweist, ist das binär 0000 0100
und damit TRUE oder 1 an Pin 3.
Um nur einzellne Pins eines Ports unabhängig vom Zustand der restlichen Pins zu schalten, nimmt man eine Bitmaske und verknüpft den aktuellen Wert des Ports mit der Bitmaske und schreibt den Wert dann auf den Port.
Bitmaske für Pin 3 -> 0000 0100
ang. aktueller Zustand Data_B -> 1000 0011
Die beiden mit logisch ODER verknüpft ergibt 1000 0111
Und dies dann wieder auf Data_B zuweisen.
Dann ist Pin 3 gesetzt worden.
|