繁体   English   中英

如何在C#中异步侦听多个串行端口

[英]How can I listen to multiple Serial Ports asynchronously in C#

我有一个应用程序,可以监听USB转串口转换器上的硬件。 我的应用程序应该同时监视多个串行端口。

我循环我需要监听的串口,并为每个端口创建一个线程。 在线程中我有我的数据处理例程。

当我分配一个端口时,它运行完美。 当我听另一个时,它也有效。 但是,当我打开两个端口时,第二个端口在调用serialPort.Open()时总是抛出UnauthorizedAccessException 我打开端口的顺序无关紧要,第二个总是失败。

我在while循环中使用serialPort.ReadLine()来监听端口。

.NET可以同时打开多个端口吗? 我可以听听两者吗? 或者我应该使用另一种(线程安全的?)方式来访问我的串口事件?

该异常具有非常具体的含义,它告诉您有人已经打开了端口。 那可能是谁? 当您打开第二个端口时,三次检查您实际使用的是不同的端口名称。

下一步是将USB仿真器带到停车场并与您的汽车一起跑几次,这样它就再也无法驱动程序员。 从使用其他设备驱动程序供应商的其他制造商处获取一个。

暂无
暂无

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

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