我有一个应用程序,它监听USB串口转换器上的硬件。我的应用程序应该同时监控多个串口。
我循环遍历需要监听的串口,并为每个串口创建一个线程。在线程中,我有我的数据处理例程。
当我分配一个端口时,它运行得非常顺利。当我监听另一个端口时,它也可以工作。然而,当我打开两个端口时,第二个端口总是在调用
我使用
.NET能够同时打开多个端口吗?我可以同时监听两个端口吗?还是应该使用另一种(线程安全的?)方法来访问我的串口事件?
我循环遍历需要监听的串口,并为每个串口创建一个线程。在线程中,我有我的数据处理例程。
当我分配一个端口时,它运行得非常顺利。当我监听另一个端口时,它也可以工作。然而,当我打开两个端口时,第二个端口总是在调用
serialPort.Open()
时抛出UnauthorizedAccessException
异常。无论我以什么顺序打开端口,第二个都会失败。我使用
serialPort.ReadLine()
在while循环中监听端口。.NET能够同时打开多个端口吗?我可以同时监听两个端口吗?还是应该使用另一种(线程安全的?)方法来访问我的串口事件?