急,如何以二进制方式向串口发送如下的数据?

17454938 2003-06-21 01:00:49
我要发送的二进制数据:
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:whd_tr@163.com)
...全文
110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jun_01 2003-06-25
  • 打赏
  • 举报
回复
怎么没有人了?
到底怎样了?
tonylk 2003-06-24
  • 打赏
  • 举报
回复
同意 ksaiy(丹丹的木头) 的

给你一段代码:
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);
....
jpyc 2003-06-24
  • 打赏
  • 举报
回复
首先要了解at指令
dingfeng1977 2003-06-24
  • 打赏
  • 举报
回复
是否通过电话交换网?
dingfeng1977 2003-06-24
  • 打赏
  • 举报
回复
你是和MODEM通讯还是与MODEM对方的设备通讯?
jpyc 2003-06-23
  • 打赏
  • 举报
回复
mscomm:微软的东西,ActivX控件,使用简单,在VB中带的,性能一般,由于是ActivX控件,打包时需要注册好多信息,不推荐使用。
spcomm:比较好的vcl,算是比较专业的,解剖了一下,功能比较完善。
TurboPower:公认的专业通讯控件。可以到其站点下载,开放源码了。
我在制作串口通讯软件时三种都用过,最终全部使用TurboPower!所以也推荐大家使用它。
写了个例子,基本的串口通讯都可以实现,可提供参考。
下载地址:http://www.kaer.cn/default.aspx(网站安全性较差,经常当机,如果急用,mail我)
多多指正:sdwhxyr@yeah.net
ksaiy 2003-06-22
  • 打赏
  • 举报
回复
MODEM可以通过AT命令来控制的
bitcom 2003-06-22
  • 打赏
  • 举报
回复
没用过调制器,不知道它要得数据格式是什么

把你的数据转化成他要得的数据格式再发送试试
ksaiy 2003-06-21
  • 打赏
  • 举报
回复
output是OLEVariant你先定义好变量然后转换以后再来发应该就可以了~

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧