急...delphi spcomm向串口发送数据怎么出错了,高手帮忙看看啊!第一次用SPCOMM

tlyccm 2007-10-19 12:03:46
procedure TForm1.senddataClick(Sender: TObject);
begin
comm1.StartComm;
sbuf[1] :=byte($00);
sbuf[2] :=byte($01);
sbuf[3] :=byte($00);
sbuf[4] :=byte($01);
sbuf[5] :=byte($00);
sbuf[6] :=byte($01);
sbuf[7] :=byte($00);
sbuf[8] :=byte($01);
senddat;
end;


procedure tform1.senddat;
var
i:integer;
commflg:boolean;
begin
viewstring :='';
commflg :=true;
for i:=1 to 8 do
begin
if not form1.Comm1.WriteCommData(@sbuf[i],1)then
begin
commflg :=false;
break;
end;
sleep(2);
viewstring :=viewstring + viewstring;
form1.Memo1.Lines.Add(viewstring);
form1.Memo1.Lines.Add('');
if not commflg then messagedlg('发送失败',mterror,[mbyes],0);
end;
end;

这里出错了,不能写吗?sbuf[1] :=byte($00);
sbuf[2] :=byte($01);
...全文
165 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangsp 2007-10-24
  • 打赏
  • 举报
回复
comm1.writecommdata(pchar,1);
这样可以的
longshine 2007-10-24
  • 打赏
  • 举报
回复
if not form1.Comm1.WriteCommData(@sbuf,8)then 好象这样也可以吧
oushengfen 2007-10-22
  • 打赏
  • 举报
回复
这样也行吗?
atsoftworld 2007-10-20
  • 打赏
  • 举报
回复
comm1.writecommdata(pchar,1);
????
cooling 2007-10-20
  • 打赏
  • 举报
回复
GSM短信远程抄表系统管理端源代码(pc控制手机模块收发GSM短信)
http://www.pgz8.cn/Software/Catalog93/4151.html

串口操作等,都是自己写的代码.不用现成控件的.你可以下载来看看,还有实现了pc控制手机模块收发gsm短信,函数都是自己写的。线程方式操作,提高效率。短信模块用的是西门子的。

可能对你有帮助.

下面是他的说明:

系统说明:GSM短信远程抄表系统管理端(原理:pc控制手机模块收发GSM短信)
作者:Cooling
QQ: 21156410
Email: 21156410@qq.com
主页:http://www.pgz8.cn
可以任意传播,但请保留以上信息,有任何问题,欢迎交流。谢谢
这是一个商业软件的demo部分,收发短信的部分函数,全部是站长2002年写的,不用现成控件,线程操作.或许对短信系统开发有帮助.当时没有实现中文短信的收发,这个系统中也不需要.所以如果哪位朋友有兴趣,可以完善下,如果你写好了,也希望能给我发来一个哦.谢谢

用户名密码都是admin,在界面上右键操作.
tlyccm 2007-10-19
  • 打赏
  • 举报
回复
人都哪去了啊,,帮帮忙啊,,大哥们!
tlyccm 2007-10-19
  • 打赏
  • 举报
回复
怎么没有人啊,自已先顶一下!
laowang2 2007-10-19
  • 打赏
  • 举报
回复
up
tlyccm 2007-10-19
  • 打赏
  • 举报
回复
我自已搞定了,谢谢大家,
comm1.writecommdata(pchar,1);这后面不能写8,com口不知道怎么写的.
luxuewei5214 2007-10-19
  • 打赏
  • 举报
回复
sbuf[1] := $00; //这样写就可以了;
Comm1.WriteCommData(@sbuf[1],8);//一下发送8个字节也可以
neweipeng 2007-10-19
  • 打赏
  • 举报
回复
全局变量sbuf:array[1..8]of byte
if not commflg then messagedlg( '发送失败 ',mterror,[mbyes],0);应该放在for循环外才起作用

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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