如题。
如用一个,怎么实现呢?小弟新手,大家帮帮忙

解决方案 »

  1.   

    MSComm1.RTSEnable这个BOOL变量具体做什么用的呢?
      

  2.   

    TO:  Wenking003(文君) 
    如果我用一个MSCOMM ,在缓冲阀里按地址来区分送入信号的设备如三个设备
    我第一个的地址设为1, 第二个设为2,第三个设为3再做处理行不?因为是实时监控的,所以FORM上要有实时的数据来反映的!
    不知道这样行吗?
      

  3.   

    不是很明白你的意思。
    通常我们用一个MSCOMM可以控制一个串口,而该串口能接多少个外设,这要看外设的性能。从你的描述来看,你好像是能做到一个串口“连接”几个设备,并且可有地址码来区分不同的外设发来的信息,对吗?如果这样而且不会影响各外设“同时”发送的问题,则完全可以使用一个MSCOMM,通过判断不同的地址码就能对不同外设的信息进行处理,并反馈到FORM中。
    如果不能克服外设的同步发送问题,那只能使用多个MSCOMM,每个MSCOMM控制不同的串口,每个串口连接不同的设备,这样我们的程序也可以区分出不同外设,进行不同的处理。
    事实上用一个MSCOMM,通过使用轮询的方式,也可对不同的串口进行操作,但前提是设备不存在同步发送的问题。
    我的理解对吗?
      

  4.   

    mscomm是直接跟硬件打交道的控件,你想多用必须多几个串口设备才行,像楼上几个哥们所说的,定义数据包的包头,用来区别不同的设备。我是这样处理数据的:设备号+控制字+数据。
      

  5.   

    MSComm1.RTSEnable,查一下串口的资料就可以发现,除了发送和接收以及地线,还有六根线,这些就是所谓的握手信号。RTS就是其中之一。
      

  6.   

    RTSEnable为是否允许请求发送线,这需要硬件支持,一般在采用三线制时,采用默认。如果是多个设备连接多个端口,这就需要多个MSCOMM。如果一个端口连接多个设备,就只需要一个MSCOMM。前者可以独立处理。后者就需要判断信息的来源。当多个设备可能同时发送数据时,就需要引用授权机制。由一个主机发送代码允许某一个设备发送数据,其它就不能发送。主机采用轮循的方式逐个询问每一个设备。当一个设备完成通信后,主机再询问下一个设备。每一个设备都需要定义一个与其它不相同的ID号,这样才能逐个区分。可以理解为485总线制式。