L lbmjy Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-14 #1 Spcomm与Moden通信没有问题,但与称量仪器(PT650C)通信是,直接通信不上, 如果用MsCom或者Async32打开过端口,在用Spcomm则没问题。
Z zhaohai9 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-14 #2 说什么呢?你问一下厂家通讯参数,很可能是端口设置问题。
L lbmjy Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-14 #3 通讯参数:COM1,9600,Event,7,1 读指令:READ<CR><LF>
Z zhaohai9 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-14 #4 你用串口精灵测试一下,有可能参数变了,我们公司梅特勒-托力多的地磅就是说明书 上的参数与实际的参数不符。
L lbmjy Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-14 #5 但是直接用mscomm控件按照这些参数通讯没问题。问题现象 1、用Spcomm通讯,读指令没反应; 2、关闭Spcomm程序,打开mscomm程序,打开端口通讯,结果OK; 3、关闭mscomm程序,用Spcomm通讯,此时通讯没问题 以上转换程序时,没修改任何参数,只要重新启动计算机都可重现此现象。
但是直接用mscomm控件按照这些参数通讯没问题。问题现象 1、用Spcomm通讯,读指令没反应; 2、关闭Spcomm程序,打开mscomm程序,打开端口通讯,结果OK; 3、关闭mscomm程序,用Spcomm通讯,此时通讯没问题 以上转换程序时,没修改任何参数,只要重新启动计算机都可重现此现象。
L lbmjy Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #7 //打开端口 COMM1.startcomm; //发送读指令 var s:string; pschar; i:integer; begin s:='READ'+#13#10; ps:=pchar(s); i:=strlen(psstr); COMM1.WriteCommData(ps,i); end; //接收数据在接受事件,但指令发送后没反应
//打开端口 COMM1.startcomm; //发送读指令 var s:string; pschar; i:integer; begin s:='READ'+#13#10; ps:=pchar(s); i:=strlen(psstr); COMM1.WriteCommData(ps,i); end; //接收数据在接受事件,但指令发送后没反应
Z zhaohai9 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #8 comm1.startcomm;//不要放在form1.oncreate中;
L lbmjy Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #9 comm1.startcomm;//不在form1.oncreate中
Z zhaohai9 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #10 comm1.startcomm;与comm1.writecommdata不要放在一个事件中;如不行,请把VB 代码贴出来。
L lbmjy Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #11 不好意思,没写清楚,comm1.startcomm;与comm1.writecommdata事件是分开的。 VB: Private Sub Command1_Click() MsCom.Settings="9600,E,7,1" MsCom.CommPort=1 MsCom.PortOpen End Sub Private Sub Command2_Click() MsCom.OutPut="READ"+vbCrLf End Sub
不好意思,没写清楚,comm1.startcomm;与comm1.writecommdata事件是分开的。 VB: Private Sub Command1_Click() MsCom.Settings="9600,E,7,1" MsCom.CommPort=1 MsCom.PortOpen End Sub Private Sub Command2_Click() MsCom.OutPut="READ"+vbCrLf End Sub
Z zhaohai9 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #12 var s:string; pschar; i:integer; begin s:='READ'+#13#10; i:=length(s); ps:=pchar(s); COMM1.WriteCommData(ps,i); end;
var s:string; pschar; i:integer; begin s:='READ'+#13#10; i:=length(s); ps:=pchar(s); COMM1.WriteCommData(ps,i); end;
L lbmjy Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #14 cao192: 能具体谈谈Spcomm与MsComm设置上的不同点。
A Aiirii Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-15 #15 我在用spcomm时也发现了这样一个问题,用acrii格式时一切正常,但用十六进制,同时字符串太长时,就会发现发送出去后没有返回,但只要关闭一下com口,重新打开又可以了!!真是奇怪!!
C cao192 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-31 #16 我只用过SPCOMM,与单片机通讯正常,如果有需要就和我联系。
A aswine Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-31 #17 to cao192兄 及各位DFW们,小弟急求一份SPCOMM多线程通信源程序! 因为不太清楚,既然SPCOMM已经是多线程,那么我的程序本身是否需要再开线程。 谢谢大家了,谢谢!-------------------穷翁上
to cao192兄 及各位DFW们,小弟急求一份SPCOMM多线程通信源程序! 因为不太清楚,既然SPCOMM已经是多线程,那么我的程序本身是否需要再开线程。 谢谢大家了,谢谢!-------------------穷翁上
C cao192 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-02 #19 to aswine:我现在用的SPCOMM是单线程的,多线程是否能用,没有试过。 如果有需要,请发cao192@163.net