要求 建立两个线程 分别初始化两个串口 要求可以两个串口配置可能不同 例如com1 9600 n 8 1;com2 38400 n 8 1 。
实际工作是这样的 :com1接受来的数据 通过com2转发出去。
一个串口的通讯调通 但是两个同时操作需要注意什么吗?
 
我现在就是在两个线程中分别实例化两个做好的串口操作类,
我发现有时候com2打不开 有时候能打开 还没有发现什么规律 。单独启动一个线程打开一个com1 就没有问题 能是为什么呢?

解决方案 »

  1.   

    哦,COM 2 打不开是不是你同一时间只能操作一个串口?
    和 川口通讯的 DLL 有关系
      

  2.   

    打开串口后有个串口句柄
    不知道 DLL 中间怎么处理了,句柄返回给你好办
      

  3.   

    我也觉得可能是 两个线程某个时候同时操作串口类了 去打开不同得串口 能使这样吗?有时候就能没有问题打开 有时候就大不开com2 奇怪了给点建议就给分哈哈
      

  4.   

    to 我发现有时候com2打不开 有时候能打开 还没有发现什么规律 。你最好用debug输出一下,看看有什么规律没有。
      

  5.   

    COM口是独占方式操作,同一时间只能有一个线程操作。所以在你打不开的时候可能是COM口资源没有被释放出来。NOTE:
    如果你只是想达到把COM1收到的数据通过COM2发出,你直接通过硬件连接来实现,虽然有波特率的差异,不过可以试试,一般是可以的,波特率一般影响传输距离和速度! 先try 一下!
      

  6.   

    tojshnet(JshNet) ( )直接通过硬件连接来实现  请具体指点一下 谢谢
      

  7.   

    作为串口来讲,一般情况下PIN 2收,3发,5接地。把连你计算机COM1(A设备)和COM2(B设备)的线,直接连接起来,跨过计算机,注意PIN2,3就好,A设备的发送端要和B设备的接受端连接。PIN5直连就好!