none
SerialPort 问题 RRS feed

  • 问题

  •             SerialPort port;
                port = new SerialPort();
                port.PortName = "COM3";
                port.BaudRate = 115200;
                port.StopBits = System.IO.Ports.StopBits.One;
                port.DataBits = 8;
                port.DtrEnable = true;
                port.RtsEnable = true;
                port.Parity = System.IO.Ports.Parity.None;
                port.Handshake = System.IO.Ports.Handshake.RequestToSendXOnXOff;
     
                if (port.IsOpen == false)
                {
                    textBox1.Text += "open";
                    port.Open();
                    //到这里是正常的
                }



                //---------------这是发生异常  抛出System.IO.Ports.SerialStream.WinIOError()
                byte[] callCommand = Encoding.UTF8.GetBytes("at");
                port.WriteTimeout = 10000;//10S
                port.Write("at");
                //--------------
               
               
                textBox1.Text += "write";
                Thread.Sleep(500);
                string outputstring = port.ReadLine();
                textBox1.Text = outputstring;
                port.Close();
                port.Dispose();



    环境: windows mobile 6.0   Smartphone

     //---------------这是发生异常  抛出System.IO.Ports.SerialStream.WinIOError()
                byte[] callCommand = Encoding.UTF8.GetBytes("at");
                port.WriteTimeout = 10000;//10S
                port.Write("at");
    //-------------- 


    补充      

              port.Open(); 之后 以下三个都只有读属性, 都为false
      
               // 获取端口的载波检测行的状态。
                textBox1.Text += "  CDHolding:" + port.CDHolding.ToString(); ;
                //获取“可以发送”行的状态。
                textBox1.Text += "  CtsHoldingToString:" + port.CtsHolding.ToString();
                //获取数据设置就绪 (DSR) 信号的状态。
                textBox1.Text += "  DsrHolding:" + port.DsrHolding.ToString();
               

    2009年3月10日 3:49

答案

  • 楼主用到串口的DTR、RTS了么,如果你没有真正在硬件上用到这些接线的话,还是不要把它们设置为true吧,不然在硬件上没有正确的电平的话,接收或者发送会受到影响的。
    施炯
    2009年3月11日 13:40
    版主