Wybacz, szybkie pytanie:port komunikacji szeregowej na tym samym komputerze z systemem Windows nie działa
mam tę konfigurację sprzętową:
sama maszyna: "Com3" -> USB -> to Serial -> USB -> "Com4"
i następnie MSDN SerialPort Class i MSDN SerialPort.ReadLine() budować ten rutynowe:
SerialPort SendSerialPort = new SerialPort("Com3", 9600);
SerialPort ReceiveSerialPort = new SerialPort("Com4", 9600);
SendSerialPort.Open();
ReceiveSerialPort.Open();
SendSerialPort.WriteLine("Test");
var message = ReceiveSerialPort.ReadLine(); // control stops here
SendSerialPort.Close();
ReceiveSerialPort.Close();
Console.WriteLine(message);
Jednak gdy mam tendencję do ReadLine()
, moja kontrola zatrzymuje się i po prostu czeka. Nie spodziewałem się tego.
Spodziewam się otrzymać ciąg Test
i przypisać go do mojego var message
. Czy możesz mi powiedzieć, co tu robię źle?
EDIT:
testowałem mój sprzęt używając Serial Port Utility Application i it worked just fine.
Nie używasz żadnych operacji gwintowania –
Operacje we/wy są blokowane. Musisz przenieść co najmniej jedną z operacji we/wy do innego wątku/zadania. – rene