C#实现串口检测及连接功能
private void SerialPortCheck() // 串口检测
{
try
{
bool comExistence = false;
BAUD_comboBox.Items.Clear();
for (int BAUD_i = 0; BAUD_i < 5; BAUD_i++)
{
try
{
SerialPort sp = new SerialPort("COM" + (BAUD_i + 1).ToString());
sp.Open();
sp.Close();
BAUD_comboBox.Items.Add("COM" + (BAUD_i + 1).ToString());
comExistence = true;
}
catch (Exception)
{
continue;
}
}
if (comExistence)
{
BAUD_comboBox.SelectedIndex = 0;
}
else
{
MessageBox.Show("没有可用串口", "警告提示");
}
}
catch
{
}
}
private void SerialPortConnect() // 连接
{
try
{
if (isOpen == false)
{
if (!isSetProperty) //串口未设置则设置串口
{
SetPortProPerty();
isSetProperty = true;
}
try
{
sp.Open();
isOpen = true;
}
catch (Exception)
{
isOpen = false;
MessageBox.Show("串口无效或已被占用!", "警告提示");
}
}
else
{
try
{
sp.Close();
isOpen = false;
}
catch (Exception)
{
MessageBox.Show("关闭串口时发生错误!", "警告提示");
}
}
}
catch
{
}
}
private void SetPortProPerty()
{
sp = new SerialPort();
sp.PortName = BAUD_comboBox.Text.Trim();
sp.BaudRate = 9600;
}
本文详细介绍了如何使用C#进行串口检测和连接操作,涵盖了串口选择、配置参数以及建立通信链路的关键步骤,为C#开发者提供实用的串口通信解决方案。
161

被折叠的 条评论
为什么被折叠?



