У меня есть два факс-модема Conexant и приложение C # с двумя объектами serialPort, настроенными для прослушивания входящих данных на оба коммуникационных порта.
Вот как я инициализирую каждый модем:
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-порт не будет принимать данные.
Это проблема с моей инициализацией, классом SerialPort в C # или Windows XP, отказывающимся разрешить одновременную работу двух модемов?
Любые советы или предложения приветствуются.
UPDATE
Вы проверили в «Диспетчере устройств», что оба порта настроены, включены и работают?
Да, они оба с отдельными портами.
Вы пробовали что-то вроде Hyperterm, чтобы попытаться отправить данные в порты?
Попытка открытия обоих портов связи в отдельных гипертерминалах, и не удалось открыть второй порт связи.