Добрый день. Помогите, пожалуйста, по следующему вопросу.
У меня данные типа string отправляются на com порт с помощью следующей процелуры:
Код:
Procedure WriteStrToPort(Str:String);
Var
ByteWritten:cardinal;
MyBuff:Array[0..1023] Of Char;
Begin
FillChar(MyBuff,SizeOf(MyBuff),#0);
Str:=Str+#13#10;
StrPCopy(MyBuff,Str);
If Not WriteFile(hPort,MyBuff,Length(Str),ByteWritten,Nil) Then
Begin
SysErrorMessage(GetLastError);
fmMain.btnStop.Click;
Exit;
End;
End;
Все работает, но мне необходимо отправить команду в двоичном виде, со следующими условиями
Цитата:
Длина посылки от компьютера к компаратору фиксированная – 4 байта.
Состав посылки:
SOM=0x01 – заголовок
CMD – команда
DAT0 – данные, если нужны
DAT1 – данные, если нужны
EOF=0x1a – конец посылки
Таким образом, минимальная длина посылки – 3 байта.
Необходимая команда GETCOUNT - 0x3a
|
Подскажите, как необходимо изменить код?