Serialport non legge il messaggio
-
13-12-2019 - |
Domanda
Sto cercando di eseguire una comunicazione seriale usando la classe [serialport].Ho fatto un semplice progetto di applicazione della console in cui testerò questa classe utilizzando hyperterminale .
Questo è il mio programma:
class Program
{
private static bool _continue = true;
private static SerialPort port;
static void Main(string[] args)
{
try
{
port = new SerialPort("COM4", 9600, Parity.None, 8, StopBits.One);
port.ReadTimeout = port.WriteTimeout = 5000;
port.Open();
Thread thread = new Thread(Read);
thread.Start();
while (_continue)
{
string message = Console.ReadLine();
if (message.Equals("quit"))
_continue = false;
else
port.Write(message);
}
thread.Join();
port.Close();
}
catch (Exception ex)
{ }
}
private static void Read()
{
while (_continue)
{
try
{
string message = port.ReadLine();
Console.WriteLine(message);
}
catch (TimeoutException) { }
}
}
}
.
The problem is
Le seguenti: Quando scrivo una linea (nella console) A può vedere nella GUI iperterminale ciò che ho scritto, ma quando scrivo una linea utilizzando iperterminale Nessun messaggio viene letto dal mio programma che Thorws sempre un TimeoutException
.br>
Perché?
Come posso risolvere questo problema?
Grazie.
Soluzione
PORT PORT.Leggi nel caso in cui Port.readline è in attesa di nuova linea!
Altri suggerimenti
Che ne dici di fare uso di serialport.dacareied event?
http://msdn.microsoft.Com / en-noi / biblioteca / system.io.ports.serialport.datariceed.aspx