Zitat von
hardingfele:
...der befehlssatz des microcontrollers besteht aus päckchen zu je 9 bytes, das letzte byte ist eine "checksum". im reference-manual des motors steht, daß die commands im binärformat an den microcontroller gesendet werden sollen. wie kann ich das nun anstellen? die property "output" sendet nur strings.
Kein Problem, ein Sring in Delphi kann beleibige binäre Daten enthalten.
Beispiel:
Delphi-Quellcode:
var
daten :
string;
checksum : integer;
i : integer;
begin
daten := #$A0#00#00#00#$FF#255;
// Sequenz aus 7 Bytes
// jedes Byte beginnt mit dem # Zeichen
// nach #$ dürfen nur 2 Hexzeichen folgen
daten := daten + #32;
// noch ein Zeichen mit ASCII-Code 32 hinzu
// Prüfzeichen ermitteln
// das hier gezeigt Verfahren ist nur ein Beispiel
checksum := 0;
for i := 1
to Length(daten)
do
begin
checksum := checksum + Ord(daten[i]);
end;
checksum := checksum
and $FF;
// nur die niederwertigsten 8 Bit behalten
daten := daten + chr(checksum);
// Prüfzeichen dranhängen