2016-07-25 4 views
1

저는 C# Windows 응용 프로그램에서 작업하고 있습니다. 내가 선택한 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); 
} 

에서 데이터를 수신에 시리얼 USB 포트를 사용하고 있습니다하지만 오류를 얻을

'하여 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); 

to

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

MSDN SerialPort 클래스에는 6 개의 매개 변수가있는 construcotr이 없습니다.

SerialPort(String, Int32, Parity, Int32, StopBits) - 지정된 포트 이름, 전송 속도, 패리티 비트, 데이터 비트 및 정지 비트를 사용하여 SerialPort 클래스의 새 인스턴스를 초기화합니다.

핸드 셰이크 - 생성자에서 설정할 수 없습니다. 당신은이 방법으로 설정할 수 있습니다 :

sp.Handshake = Handshake.None; 
관련 문제