通过串口实现和其它设备进行通信,实现控制该设备。请各位指点一二。谢谢(注:新手上路)(100分)

  • 主题发起人 主题发起人 gzcxylsj
  • 开始时间 开始时间
G

gzcxylsj

Unregistered / Unconfirmed
GUEST, unregistred user!
通过计算机的COM口来控制其它设备往我的计算机发数据(如:1、当我的机子在工作,该设备自动往我的机子发送数据时,我能够接收并存储。当我不需要转送时,能停止其设备传输数据。2、同时如果该设备存储有数据时,当我的计算机工作后,把数据传送过来时我能够接收并存储。)
 
只要通讯协议设计好就可以实现了
 
简单一点,随需随取
 
是存在这样的一个问题,当收到设备发来的信息时,不能控制其停止发送。<br>该设备没有开发包。只能通过我的机子来控制。
 
如果那个设备是自动发送,只要控制程序接收。我用过COM的监测仪器,可以自动发数据,也可以采取查询方式,但是如果自动发,有时候会影响控制命令响应
 
能不能通过COM1和COM2两个串口解决控制问题。一个接收数据。一个发送控制命令。<br>这样还会不会影响控制命令响应。
 
是他那仪器的问题。可以试一试,接受到数据后,在发送命令,就容易成功。很可能是那个仪器单线程的。发送数据的时候,没能处理命令,这样的话就只能从应用程序同步了
 
setLength(strRecv,BufferLength);<br> &nbsp;Move(Buffer^,pchar(strRecv)^,BufferLength);<br> &nbsp;mmoComm.Lines.Add('已收到: '+intTostr(BufferLength)+'字节的数据');<br> &nbsp;mmoComm.Lines.Add(strRecv);<br> &nbsp;mmoComm.Invalidate ;<br>你的这段程序不对,如果对方发给你的是广西,当然可以显示<br>如果对方发给你的是ASICC码的话,就要你用代码来一位一位进行分析转换了
 
你的意思是说问题出在不能识别所收到的ASCII信息吗?<br>但是我中英文及数字都试过,什么都显示不了.<br>应该是&&&&&&&&&&&&&&&&&&
 
可能是你发的命令有问题<br>设备能正常识别你的命令么?
 
呵呵,接受数据有问题,<br>var<br> rbuf:array[1..5000] of byte;<br>strRecv : string;<br> i:integer;<br>begin<br> &nbsp; &nbsp; move(buffer^,pchar(@rbuf)^,bufferlength);<br> &nbsp;for i:1 to bufferlength do<br> &nbsp; &nbsp;strRecv:=strRecv+inttohex(rbuf,2)+' ';<br>mmoComm.Lines.Add(strRecv);<br>mmoComm.Lines.Add('已收到: '+intTostr(BufferLength)+'字节的数据');<br> &nbsp;<br> &nbsp;mmoComm.Invalidate ;<br>end;
 

Similar threads

回复
0
查看
848
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部