繁体   English   中英

C#'SerialPort'不包含带有6个参数的构造函数

[英]C# 'SerialPort' does not contain a constructor that takes 6 arguments

我正在开发一个C#Windows应用程序。 我正在使用串行USB端口来侦听来自所选COM端口的数据

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个参数的构造函数

在这 在此输入图像描述

这里有什么问题? 如果有人知道请帮助我。

那么只有那些构造函数

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;

在构造函数中没有握手,你必须这样做:

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

MSDN SerialPort类没有6个参数的构造。

SerialPort(String, Int32, Parity, Int32, StopBits) - 使用指定的端口名称,波特率,奇偶校验位,数据位和停止位初始化SerialPort类的新实例。

握手 - 您无法在构造函数中设置它。 您可以这样设置它:

sp.Handshake = Handshake.None;

握手不是SerialPort构造函数的参数之一。 SerialPort类中有一个属性“Handshake”,可以设置。 默认值为none。 https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.handshake(v=vs.110).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM