2016-07-25 90 views
1

我正在使用C#Windows應用程序。我使用的串行USB端口,監聽來自所選擇的COM端口C#'SerialPort'不包含需要6個參數的構造函數

SerialPort sp; 
string t; 
void Serial(string port_name) 
{ 
    sp = new SerialPort(port_name, 9600, Parity.None, 8, StopBits.One,Handshake.None); 

    sp.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); 
    sp.Open(); 
} 

private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) 
{ 
    SerialPort sp = (SerialPort)sender; 
    string list = sp.ReadLine(); 
    listBox1.Items.Add(list); 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 
    t = "COM5"; 
    Serial(t); 
} 

數據,但我得到一個錯誤

「的SerialPort」不包含一個構造函數6個參數

在這裏enter image description here

這裏有什麼問題?如果有人知道,請幫助我。

+0

這是正確的,它最多有5個參數:https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.serialport(v=vs.110).aspx –

回答

2

有一個在構造函數沒有握手,你必須做這樣的:

sp = new SerialPort(port_name, 9600, Parity.None, 8, StopBits.One); 
sp.Handshake = Handshake.None; 
3

那麼只有those構造

SerialPort()  
SerialPort(IContainer) 
SerialPort(String) 
SerialPort(String, Int32) 
SerialPort(String, Int32, Parity) 
SerialPort(String, Int32, Parity, Int32)  
SerialPort(String, Int32, Parity, Int32, StopBits) 

所以,你可能想從

改變你的初始化語句
sp = new SerialPort(port_name, 9600, Parity.None, 8, StopBits.One,Handshake.None); 

sp = new SerialPort(port_name, 9600, Parity.None, 8, StopBits.One); 
sp.Handshake = Handshake.None; 
1

MSDN SerialPort類沒有constructorr與6 params。

SerialPort(String, Int32, Parity, Int32, StopBits) - 使用指定的端口名稱,波特率,校驗位,數據位和停止位初始化SerialPort類的新實例。

握手 - 你不能在構造函數中設置它。 您可以設置它以這樣的方式

sp.Handshake = Handshake.None; 
相關問題