我要发送的二进制数据:
00001010001100110000011000000010000000011101100100000111000000000000000100100110
我在发送按钮中是这样写的:
if not mscomm.portopen then
mscomm.PortOpen:=true;
mscomm.output:=CHR($A)+CHR($33)+CHR($6)+CHR($2)+CHR($1)+CHR($D90)+CHR($7)+CHR($0)+CHR($1)+CHR($26)
//因为是测试,所以我是先手工每8位转为16进制,再发送(最后16位是校验和,前一字为高位,后一字节为低位)这样是不是正确,因为我发送后的东西调制器解调结果不正确,我想是不是哪里错了,如果谁在这方面是高手,希望可以留下联系方式,我的qq是17454938,email:[email protected])
00001010001100110000011000000010000000011101100100000111000000000000000100100110
我在发送按钮中是这样写的:
if not mscomm.portopen then
mscomm.PortOpen:=true;
mscomm.output:=CHR($A)+CHR($33)+CHR($6)+CHR($2)+CHR($1)+CHR($D90)+CHR($7)+CHR($0)+CHR($1)+CHR($26)
//因为是测试,所以我是先手工每8位转为16进制,再发送(最后16位是校验和,前一字为高位,后一字节为低位)这样是不是正确,因为我发送后的东西调制器解调结果不正确,我想是不是哪里错了,如果谁在这方面是高手,希望可以留下联系方式,我的qq是17454938,email:[email protected])
spcomm:比较好的vcl,算是比较专业的,解剖了一下,功能比较完善。
TurboPower:公认的专业通讯控件。可以到其站点下载,开放源码了。
我在制作串口通讯软件时三种都用过,最终全部使用TurboPower!所以也推荐大家使用它。
写了个例子,基本的串口通讯都可以实现,可提供参考。
下载地址:http://www.kaer.cn/default.aspx(网站安全性较差,经常当机,如果急用,mail我)
多多指正:[email protected]
var
vTmp:variant;
CodeSize:Integer;
Code:Byte;
begin
StatusBar1.Panels[1].Text:='';
CodeSize:=MsCommCall.InBufferCount;
if CodeSize>0 then begin
vTmp:=VarArrayCreate([0,CodeSize-1],varByte);
vTmp:=MsCommCall.Input;
Code:=vTmp[CodeSize-1];
end
else begin
Code:=C_None;
end;
AThreadCall.SetBackCode(Code);
....