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' does not contain a constructor that takes 6 arguments
在这里
这里有什么问题?有知道的请帮帮我
Constructor中没有Handshake,你必须这样做:
sp = new SerialPort(port_name, 9600, Parity.None, 8, StopBits.One);
sp.Handshake = Handshake.None;
那么只有 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;
来自 MSDN SerialPort class 还没有用 6 个参数构造。
SerialPort(String, Int32, Parity, Int32, StopBits)
- 使用指定的端口名称、波特率、奇偶校验位、数据位和停止位初始化 SerialPort class 的新实例。
握手 - 您不能在构造函数中设置它。
你可以这样设置:
sp.Handshake = Handshake.None;
Handshake 不是 SerialPort 构造函数的参数之一。
SerialPortclass中有个属性"Handshake"可以设置。
默认值为 none。
https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.handshake(v=vs.110).aspx
我正在开发 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' does not contain a constructor that takes 6 arguments
在这里
这里有什么问题?有知道的请帮帮我
Constructor中没有Handshake,你必须这样做:
sp = new SerialPort(port_name, 9600, Parity.None, 8, StopBits.One);
sp.Handshake = Handshake.None;
那么只有 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;
来自 MSDN SerialPort class 还没有用 6 个参数构造。
SerialPort(String, Int32, Parity, Int32, StopBits)
- 使用指定的端口名称、波特率、奇偶校验位、数据位和停止位初始化 SerialPort class 的新实例。
握手 - 您不能在构造函数中设置它。 你可以这样设置:
sp.Handshake = Handshake.None;
Handshake 不是 SerialPort 构造函数的参数之一。 SerialPortclass中有个属性"Handshake"可以设置。 默认值为 none。 https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.handshake(v=vs.110).aspx