以下是一段读串口数据的代码,为什么一运行到第三行,程序就停住不再进行了呢?    
        com = new SerialPort("COM1");
        com.Open();
        string strRead = com.ReadLine();
        string[] spl = strRead.Split(' ');
        strRead = getweight(spl);
        fst = new FileStream(fsName, FileMode.OpenOrCreate, FileAccess.Write);
        byte[] bytwht = Encoding.ASCII.GetBytes(strRead.ToString());
请高手指点!!!

解决方案 »

  1.   

    原因很简单,你COM1口是没有数据的,你直接ReadLine的话它会自动阻塞起来...
    出现假死的状态,必须有发送数据端,或者你把COM1口回环,先发后手试试!
      

  2.   

                com.WriteLine("cgx");
                string strRead = com.ReadLine();
                string[] spl = strRead.Split(' ');
                strRead = getweight(spl);
    可以先写了再读也不可以啊
      

  3.   

    显然你还不明白 串口通信是怎么回事,
    com.WriteLine("cgx"); 
    你发送给谁了?
    自己怎么会收到?
    不过你把串口的23脚短接了,应该能收到
    不过这样的“串口通信”有意思么?