貌似你发送和接受的COM口都不一样

解决方案 »

  1.   

    用SerialPort.DataReceived 事件 试试,
      

  2.   

    COM 口没设置错的话,请用事件接收接收端用这个事件接收
    private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
            {        }
      

  3.   

    往COM4写了数据,从COM3上去读取,这样能收到吗?
      

  4.   


    很正常啊,只是要确认这根串口线2端是不是COM4 和 COM3
      

  5.   

    如果你是COM3接COM4,你的COM线有没有交叉,另外点BUTTON再收,如果错过时机不是也收不到。
      

  6.   

    byte[] Readbyte = new byte[你接收数据的字节数];
    serialPort1.Read(Readbyte, 0, serialPort1.BytesToRead);textBox1.Text = BitConverter.ToString(Readbyte, 0); 用这个试试看吧
    serialPort1.BytesToRead是指串口可接受数据的个数。照搬就行了。
      

  7.   

    byte[] Readbyte = new byte[你接收数据的字节数]; 
    serialPort1.Read(Readbyte, 0, serialPort1.BytesToRead);
    textBox1.Text = BitConverter.ToString(Readbyte, 0); 用这个试试看吧 
    serialPort1.BytesToRead是指串口可接受数据的个数。照搬就行了。 
     
      

  8.   

    你应该在发送完之后就监听串口准备接受,如果需要等待可执行Thread.sleep(等待毫秒数),然后执行serialPort1.ReadExisting。
    如果你重新读的话,好像对象就重建了,数据应该读不到了吧