我用1个模拟软件从com2口发送数据,从com1口接受数据 
首先对serialPort初始化               serialPort1.PortName = "com1";//选择串口COM1 
            serialPort1.BaudRate = 9600;//设置通信口参数 
              serialPort1.DataBits = 8;//数据位  
              serialPort1.Parity = Parity.None;//校验位 None 
            serialPort1.StopBits = StopBits.One;//停止位1位 
              serialPort1.Open(); 问题1: 
我从com2发送数据,那com2就是发送缓冲区? 
从com1接收数据,那com1是接受缓冲区? 
我是从com1口接受数据吗? 问题2: 
怎么取com2口发送的数据呢?高手帮忙下,

解决方案 »

  1.   

    有没看懂
    把COM1看成一个下位机,不就行了吗?
    Com1 发送数据,在Com2里面读取的话当然是在COM2的接受缓冲区中读取 了
    byte[] buf =new byte[1024];
    serialPort1.Read(buf,0,1024);
    不就行了吗?
      

  2.   

    发送之后过上一段时间去取就行了,COM1、COM2代表串口,不是什么缓冲区,他们本身都有发送和接收缓冲区
    .net已经把串口封装的很傻瓜了,基本概念不太清楚
      

  3.   

    我用com2口发送数据,默认的com1口接受吗
      

  4.   

    问题1:  
    我从com2发送数据,那com2就是发送缓冲区?              com2不是缓冲区,但是有一个com2串口的缓冲区
    从com1接收数据,那com1是接受缓冲区?                  com1不是缓冲区,但是有一个com2串口的缓冲区我是从com1口接受数据吗?                              yes,既然你是com2发送,com1接收问题2:  
    怎么取com2口发送的数据呢?高手帮忙下,                com2既然是发送,就无法取数据了,你可以从com1接收数据serialPort1后面加一个小数点,你会看到有带Read字样的,写个死循环,一直去读就可以了,方法二是利用serialPort1建立一个接收事件