单片机用的是TCP/IP协议,别人给的有说明文档,没弄过这东西,想学习学习,请高手指点!

解决方案 »

  1.   

    你用Indy的TCPClient就可以了,就当单片机是TCPServer使用,根据说明文档中的协议自己进行通讯
      

  2.   

    indy是阻塞式的
    看看单片机上的是不是阻塞式的服务器
      

  3.   

    是啊,用用Indy的TCPClient就可以了。其实,好多的智能设备也都支持UDP协议的,这个更方便。刚做过一个智能动力柜,给你一段代码参考:procedure TFrmIPpower.BitBtn2Click(Sender: TObject);
    var
      pCommand:array [0..7] of Byte;
    begin
    //----------------------------
      pCommand[0] := $CA;
      pCommand[1] := $20;
      pCommand[2] := $01;
      pCommand[3] := $1C;
      pCommand[4] := $02;
      pCommand[5] := $00;
      pCommand[6] := $FF;
      pCommand[7] := $AC;
    //----------------------------
      IdUDPServer1.SendBuffer('192.168.0.3',6000,pCommand,9);
    end;
      

  4.   

    应该是 IdUDPServer1.SendBuffer('192.168.0.3',6000,pCommand,8); 
      

  5.   

    能有socket吗,可以的话就按照说明文档中的数据包和命令包的格式发送数据就行
      

  6.   

    谢谢大家,这两天没上,我用的也是Idtcpclient把单片机做服务器,现在是发送正常,可以从其它监测软件中看到单片机发回的信息,但是,我怎么实现在自己的窗体中接收单片机返回的信息呢,是再加一个idtcpServer还是???????
    多谢高手指点.
      

  7.   

    recv 啊,不过得在线程中调用,小心卡死