我有一个 Delphi 7 代码,它从 DSP TMS32F28069 接收传感器值。Delphi接收到的值是Hex文件数据。例如我发送数据:
F1;01;01;07;00;00;0A;00;00;00;00;F7
来自 DSP。
我使用 Comport 411f,实际上当我使用 Windows 10 64 位英文版时,一切都很好。但是当我使用windows chinese 64位时,有时接收到的数据有时会发生变化。我在几个使用windows 7 64位中文版的笔记本上试了试,都出现了同样的问题。windows 7 64位中文版接收到的文件显示:
F1;01;01;01;00;00;00;F7;00;00;F7;00. 或 F1;01;07;01;00;0A;00;00;F7;F7;00;00
并且总是改变。这是我在 Delphi 7 中编写的代码:
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var
p:integer;
r:array[1..12]of integer;
h:array[1..12]of String;
begin
comport1.Open;
for p:=1 to 12 do
begin
comport1.Read(r[p],1);
h[p]:= IntToHex((r[p]),2);
sMemo3.Text:= h[1]+';'+h[2]+';'+h[3]+';'+h[4]+';'+h[5]+';'+h[6]+';'+h[7]+';'+h[8]+';'+h[9]+';'+h[10]+';'+h[11]+';'+h[12];//Show data Receive on Memo4//
end;
end;
请给我任何建议,为什么会在 Windows 7 64 位中文版上发生这种情况?因为当我使用 Windows 7 64 位英文版时,它也可以正常工作。
谢谢