NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Michaal.K
Člen
Avatar
Michaal.K:31.5.2016 10:37

Ahoj,
potřeboval bych poradit s událostí pro sériový port ErrorReceived. Nevím kdy přesně se tato událost vyvolá? Myslel jsem, že vyvolání události se odvíjí od ReadTimeout a WriteTimeout, pokud druhá strana neodpoví do nějaké doby událost se vyvolá, ale to mi nefunguje. Nebo jsem to špatně pochopil? V kódu to mám takto:

SerialPort comPort =new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
comPort.Handshake = Handshake.None;
comPort.ReadTimeout = 500;
comPort.WriteTimeout = 500;
comPort.DtrEnable = true;
comPort.RtsEnable = true;
comPort.ErrorReceived += new SerialErrorReceivedEventHandler(comPort_ErrorReceived);

void comPort_ErrorReceived(object sender, SerialErrorReceivedEventArgs e)
{
        // Chybove hlaseni
}

Díky za pomoc...

 
Odpovědět
31.5.2016 10:37
Avatar
Lako
Člen
Avatar
Lako:1.6.2016 10:29

Dle dokumentace ti událost vypálí v těchto případech

 
Nahoru Odpovědět
1.6.2016 10:29
Avatar
Michaal.K
Člen
Avatar
Odpovídá na Lako
Michaal.K:7.6.2016 9:48

Ahoj díky za odpověď. Ale z toho odkazu moc moudrej nejsem..
Jestli jsem to dobře pochopil tak chybu timeoutu to nevyhodí. Jen chybu parity, přetečení vyrovnávacího bufferu, vstupní přetečení bufferu, výstupní buffer je plný a chyba rámce.
Jinak chybu timeout jsem vyřešil časovačem...
Nevím zda mám tuto událost ErrorReceived použít v programu?? Díky

 
Nahoru Odpovědět
7.6.2016 9:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.