关于spcomm(100分)

F

fossil

Unregistered / Unconfirmed
GUEST, unregistred user!
我用spcomm进行串口通信,
向串口发送数据得程序如下:
procedure TForm1.senddata;
var
s: array [0..12] of byte;
i: integer;
commflg:boolean;
begin
s[0] := $50;
s[1] := $4c;
s[2] := $4d;
s[3] := $05;
s[5] := $03;
s[6] := $00;
s[7] := $00;
s[8] := $00;
s[9] := $00;
s[10] := $00;
s[12] := $f1;
for i:=0 to 12 do
if not Comm1.WriteCommData(@s,1) then
begin
commflg:= false;
break;
end;
if not commflg then
MessageDlg('发送失败', mtWarning, [mbOK], 0);
end;
没有发生错误
但总得不到串口回应得数据,就是总出发不了Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);这个事件
这是什么原因
 
有没有人会啊!
 
帮你灌点水。
你向串口发送数据,串口怎么知道你发完了呀?是不是有什么结束标记啊?
我们原来做过通过猫拨通电话实现异地的通讯,每桢发完后,都要给个结束标记的。


 
对不起,我没作过串口通信方面的。
 
这一句:
WriteCommData(@s,1)
中的第二个参数不应该是1吧? 改为13试试看.[8D]
 
抱歉,没用过,控件在哪都没找到!
还有,怎么让我的IE弹出对话框来的?
 
1、你的12个玛可以一次发送,
2、在spcomm中,默认可能是使用 xoff。。。什么玩艺得,你可以去掉,否则,你发送
的内容中不得包含默认的内容
3、

 
to flyingboat:那你们怎么做串口通信的!!!别告诉我你们用的是API!关于IE怎么弹出
对话框,怎么简单的应用问题,不告诉你!

 
用javascrip可以让自己的IE谈出对话框
 
1、在delphi中,人们总是习惯于把数组定义成从1开始
2、如果不是本机测试,请检查线,23互换,接地良好,距离别太长
 
lvxq:数组在DELPHI中不都是【0。。*】从0开始的,那里是从1开始的。
当然是本机测试了,我开始调VC做的DLL进行串口通信就没问题的,可老板让我用DELOHI
自己做一个!
怎么多人用过SPCOMM,怎么不奉献一下
 
我喜欢用TCommport控件,有很多例子可学,
建议不要直接用WIN API,或者其它不出名,未经锤炼的控件也不要用
用这个保证能行
http://stgzs.myetang.com/DelphiResource/communication/Cport260/Cport260.zip
我已用他通过RS232串口控制LED电子板大屏幕文字和图形显示
如果不能下载告诉我你的邮箱,我寄给你,文件不大,才177k
 
TO cloudjava:
chxdai@163.com,多谢
 
spcomm先得调用:
Comm1.StartComm;
然后用:
Comm1.WriteCommData(Pchar(s), Length(s));
发整个字符串

TO cloudjava:zgbaby@sohu.com,
我想了解“通过RS232串口控制LED电子板大屏幕文字和图形显示”,多谢
 
多人接受答案了。
 
To:cloudjava
kirk2@163.com,thans!
 
顶部