C#中怎么获取有效的串口? 5

我使用System.IO.Ports.SerialPort.GetPortNames()会把一些虚拟的串口读出来:怎么做到只获取COM5这个真正的串口呢,其他的是电脑蓝牙... 我使用System.IO.Ports.SerialPort.GetPortNames()会把一些虚拟的串口读出来:

怎么做到只获取COM5这个真正的串口呢,其他的是电脑蓝牙的,还有的不知是怎么来的,只有com5是对的
展开
 我来答
lgao622
推荐于2017-11-25 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6548
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部

1.引用System.IO.Ports空间。  SerialPort.GetPortNames(); 通过获取所有串口名。

string[] names = SerialPort.GetPortNames(); // 获取所有可用串口的名字

2.names 中就保存了所有可用串口的名字了。

有缘无份1967duh
高粉答主

2018-03-31 · 说的都是干货,快来关注
知道大有可为答主
回答量:226
采纳率:100%
帮助的人:3.7万
展开全部

直接上代码:

public Form1()  

InitializeComponent();  

this.Load += Form1_Load; 

void Form1_Load(object sender, EventArgs e)  

string[] ArryPort = SerialPort.GetPortNames();  

comboBox1.Items.Clear();  

for (int i = 0; i < ArryPort.Length; i++)  

comboBox1.Items.Add(ArryPort[i]);  

comboBox1.SelectedIndex = 1;

问题: 

1、上面的代码是启动的时候扫描出来的 

2、当串口不存在时需要被扫描出来 

3、串口助手需要定时检测

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊璎0J7ae6
2016-08-30 · TA获得超过744个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:186万
展开全部
原创手动敲出来的代码,已编译运行,可以实际使用。
// 获取所有可用串口的名字
string[] names = SerialPort.GetPortNames();

//遍历所有可用串口
for (byte i = 0; i < names.Length; i++)
{
serialPort1.PortName = names[i];

if (serialPort1.IsOpen == false)
{
try
{
serialPort1.Open();
}
catch
{
continue;
}
}

if (serialPort1.IsOpen == true)
{
serialPort1.DiscardInBuffer(); //清除接收缓冲区
serialPort1.DiscardOutBuffer();//清除发送缓冲区
PictureBoxComPortFlagRed();
cbxComportSelect.Text = serialPort1.PortName;
btnComOpenOrClose.Text = "关闭串口";
break;
}
}
//当前没有串口可用
if (serialPort1.IsOpen == false)
{
PictureBoxComPortFlagBlack();
MessageBox.Show("没有发现可用串口或者被占用! 001", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徭纲毅6E
2016-11-09
知道答主
回答量:1
采纳率:0%
帮助的人:1048
展开全部
string[] ArryPort = SerialPort.GetPortNames();
cboPort.Items.Clear();
for (int i = 0; i < ArryPort.Length; i++)
{
cboPort.Items.Add(ArryPort[i]);
}
cboPort.SelectedIndex = 1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-11
展开全部
这个要想准确的找到串口,除非读取设备的硬件地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式