串口:可以发送&同时接收多个信号

本文关键字:信号 串口 | 更新日期: 2023-09-27 18:08:45

在串口通信中,我的要求是发送&同时接收多个信号。我使用线程的概念,当一个线程运行与串口模式打开读取信号它工作正常,但当我试图执行第二个线程发送数据到com端口。这里我得到错误信息-

Type = "系统异常。UnauthorizedAccessException

源= " System.IO.Ports.InternalResources.WinIOError

访问端口'COM9'被拒绝。

请帮助! !

串口:可以发送&同时接收多个信号

你这样描述是不可能的。

一个端口一次只能打开一个句柄。

原则上,您可以同时使用来自多个线程的相同句柄来发送数据,但是如果接收端从发送线程A接收到3个字节,然后从发送线程B接收到2个字节,然后从线程A接收到另一个字节,依此类推,您设想会发生什么?

如果您使用定义良好的数据包协议(可以是您自己的或标准的),您可以使用锁来防止其他线程在发送完整数据包时抢占端口。