我有两个科胜讯传真调制解调器和一个带有两个 serialPort 对象的 C# 应用程序,用于侦听两个通信端口上的传入数据。
这是我初始化每个调制解调器的方法:
m_SerialPort = new SerialPort("COM3", 2400);
m_SerialPort.DataReceived += new SerialDataReceivedEventHandler(this.ReceiveChars);
try
{
m_SerialPort.Open();
m_SerialPort.DiscardInBuffer();
m_SerialPort.DiscardOutBuffer();
}
catch (Exception e)
{
// die gracefully
}
finally
{
m_SerialPort.DtrEnable = true;
}
第二个调制解调器被初始化为不同的 SerialPort 对象,但使用“COM4”。
我第一个初始化的任何 COM 端口都可以接收数据,但第二个 COM 端口将不会接收数据。
这是我的初始化、C# 的 SerialPort 类或 Windows XP 拒绝让两个调制解调器同时运行的问题吗?
欢迎任何意见或建议。
更新
您是否在“设备管理器”下检查了两个端口都已配置、启用和工作?
是的,它们都有单独的端口。
您是否尝试过类似 Hyperterm 的方法来尝试将数据发送到端口?
尝试在单独的超级终端中打开两个通讯端口,但未能打开第二个通讯端口。