Wenn Du nur ein Relay (z.B. das 6., also Bit 5) ändern möchtest, dann musst Du zuerst den aktuellen Status ermitteln (
COM auslesen), dann das entsprechende Bit setzen und anschliessend wieder die Daten zum
COM Port schreiben.
Code:
//Pseudo Code
procedure SetRelay(RelayBit: Byte; SwitchOn: Boolean);
var
CurrState: Byte;
begin
CurrState := ReadByteFromCOM;
[color=#0800ff] if SwitchOn then
CurrState := CurrState or (1 shl RelayBit)
else
CurrState := CurrState and (not (1 shl RelayBit));[/color]
WriteByteToCOM(CurrState);
end;
//// später im Code
// setze Relais 6 on
SetRelay(5, True);
// setze Relais 6 off
SetRelay(5, False);
Der farbige Bereich ist der eigentliche Teil zum Schalten eines Relais. Bedenke, das mit dem Schreiben eines Bytes
immer acht Relais geschalten werden.
Lizbeth W.
Ich bin nicht zurück, ich tue nur so