Заглушка ком.порта
От: Norex Россия  
Дата: 10.12.06 10:15
Оценка:
Потреловалось написать эмулятор железки которая работает через серийные порты.
Нашёл софтинку: com0com

Возникла проблема с вычиткой данных с ком.порта.
Может быть кто-то сталкивался с проблемой?

Вычитываю так:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;

namespace SerialPortTester
{
    class Program
    {
        static void Main(string[] args)
        {
            SerialPort port = new SerialPort("COM_B0", 9600, Parity.None, 8, StopBits.One);
            port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
            port.Open();
            Console.ReadLine();
        }

        static void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            //Даже и не вызывается :(
        }
    }
}


Тесты в Hyperterminal'e всё нормально работает.


p.s. письмо разработчику написал.
Re: Заглушка ком.порта
От: Morpheus_  
Дата: 13.12.06 11:58
Оценка:
Здравствуйте, Norex, Вы писали:

N>Возникла проблема с вычиткой данных с ком.порта.

N>Может быть кто-то сталкивался с проблемой?

N>Вычитываю так:

N>
N>            SerialPort port = new SerialPort("COM_B0", 9600, Parity.None, 8, StopBits.One);
N>


а что за "COM_B0"? это порт созданный этим имитатором порта?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Заглушка ком.порта
От: Norex Россия  
Дата: 13.12.06 12:31
Оценка:
Здравствуйте, Morpheus_, Вы писали:

M_>Здравствуйте, Norex, Вы писали:


N>>Возникла проблема с вычиткой данных с ком.порта.

N>>Может быть кто-то сталкивался с проблемой?

N>>Вычитываю так:

N>>
N>>            SerialPort port = new SerialPort("COM_B0", 9600, Parity.None, 8, StopBits.One);
N>>


M_>а что за "COM_B0"? это порт созданный этим имитатором порта?


Да. Вообще-то я его переименовал, ввиду ограничений .NET'a.
В оригинале он назывался CNCA0 & CNCB0, но класс SerialPort проверяет, что бы PortName начинался с "COM/com" иначе выдаёт ArgumentException.
Re: Заглушка ком.порта
От: ka1eka Россия  
Дата: 26.02.07 14:06
Оценка:
Здравствуйте, Norex, Вы писали:


...
            SerialPort port = new SerialPort(@"\\.\COM_B0", 9600, Parity.None, 8, StopBits.One);
...


Так должно работать.

N>p.s. письмо разработчику написал.


У разработчика об этом в FAQ написано.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.