2015-12-15 96 views
3

我一直在使用Unity和teensy进行串行通信很长一段时间。它一直在正常工作。 现在我改变了我的teensy板,因此COM端口已经改变了。 Teensy在arduino中完美通信,并在串口监视器中检查时发送所有正确的信号。但我正在统一这个错误。端口'COM11'不存在。指定端口未打开

> IOException: The port `COM11' does not exist. 
System.IO.Ports.WinSerialStream.ReportIOError (System.String optional_arg) 
System.IO.Ports.WinSerialStream..ctor (System.String port_name, Int32 

baud_rate, Int32 data_bits, Parity parity, StopBits sb, Boolean dtr_enable, Boolean rts_enable, Handshake hs, Int32 read_timeout, Int32 write_timeout, Int32 read_buffer_size, Int32 write_buffer_size) 
    (wrapper remoting-invoke-with-check) System.IO.Ports.WinSerialStream:.ctor (string,int,int,System.IO.Ports.Parity,System.IO.Ports.StopBits,bool,bool,System.IO.Ports.Handshake,int,int,int,int) 
    System.IO.Ports.SerialPort.Open() 

最初的COM端口是个位数的值,比如COM4或COM8等,但自从我开始twodigit COM端口,我开始面临这个问题。如果我再连接teensy与单个数字COM端口它工作正常,但不检测COM50等

如何解决此问题?

回答

5

如果这是Windows操作系统尝试指定的COM端口名\\。\ COM11

myPort= new SerialPort("\\\\.\\COM11",9600); 

注:此语法还通过COM9适用于口COM1。某些电路板会让你自己选择端口名称。该语法也适用于这些名称。

0

使用System.IO.Ports.SerialPort.GetPortNames()查看操作系统使用的当前COM端口名称。 (我不确定你是否在谈论.NET,但如果你这样做有帮助)

+0

这确实列出了comports,但它显示了与OP完全相同的问题,如OP再次。海伦的解决方案有效。 – lode