各位大牛,你们在串口开发时,选用的是哪种组件,哪种最稳定?最好用? 
理由是什么?
1. Cport
2. CnRS232
3. MScom
4. SPCOM 
5. 其他组件

解决方案 »

  1.   

    SpComm  简单,稳定MsComm会出错最近看到有个Pcomm 正在研究
      

  2.   

    用过1,3,4
    看你是什么应用,我建议用Cport,Spcom在点对点通讯的时候没啥问题,主要缺点是它收取数据是定时去收,这个特点在实际应用时可能会有很大的限制,比如下位机不能发太快啊什么的。Mscom适中,主要缺点是分发程序时还要动态库去支持,Cport效率,通讯机制都很好,缺点是有的版本中的事件可能不好用
      

  3.   

    我用mscomm32.ocx发现什么错嘛。
      

  4.   

        请问 Cport 的接收机制比较特别吗? 难道不是定时的去收取? 好像Cport最新的版本V4.11   spcom 发收数据的时间问题,在数据包中加入长度或者校验 可以一定程度弥补缺点吗?
      

  5.   

    如果你的应用实时性很高的话,根据被动接收的数据做出反应,建议用Cport,比如一个电站中控制电闸,你如果用Spcom的话,等你收完数据都已经过了要求反应时间了,更别谈什么控制了,Cport是触发机制的,就是即使只有一Bit的数据来了都能触发接收事件,底层是怎么触发的没仔细去研究
    理论上都应该对接收到的数据进行长度啊 ,校验位啊之类的校验,跟效率没什么关系
      

  6.   

    感觉要是用PC来做实际的控制的话,速度肯定是赶不上,而且稳定性肯定也会有问题.
    比如说是 电站中控制电闸 ,我不清楚是如何的业务,但是觉得应该用PLC来控制.PC上做一般的监测,配置还行.
      

  7.   

    可能例子不是十分恰当,有些情况PLC也是控制不到的,主要是说明在有实时性要求的应用中Spcom不合适
      

  8.   

    一般运用是用CPORT,如果实时要求高,比如用板卡类通讯、要求通信反应快的,还是直接调用API吧
      

  9.   

    呵呵,spcomm,是定时的吗?我感觉好像也是收到数据就促发的吗?
      

  10.   

    3. MScom
    4. SPCOMM 
    用过这两个,现在一直用 SPCOMM
      

  11.   

    我现在只用Cport,以前有用过spcomm和Mscomm,在一次接收大量数据时,另两个控件都不是很稳定,现在一直用Cport
      

  12.   

    强烈建议使用Synapse组件包中的TBlockSerial组件,可到其官方主页下载。一般人儿我不告诉他,谁用谁知道啊!
      

  13.   

    官方使用Demo:  ser:=TBlockSerial.Create;
      try
        ser.Connect('COM3');
        ser.config(460800,8,'N',0,false,true);
        ser.ATCommand('AT');
        if (ser.LastError <> 0) or (not ser.ATResult) then
          Exit;
        ser.ATConnect('ATDT+420971200111');
        if (ser.LastError <> 0) or (not ser.ATResult) then
          Exit;
        // you are now connected to a modem at +420971200111
        // you can transmit or receive data now
      finally
        ser.free;
      end;
      

  14.   

    那个有Cport和spcomm的文件那,给个
    [email protected]