Cao a tutti.
Apro questa discussione per togliermi un dubbio! Qualche anno fa, per la mia azienda, avevo realizzato un software un VB che serviva a leggere in tempo reale il visore di una grossa bilancia tramite porta seriale per poter poi emettere delle etichette... oggi lo sto sto riscrivendo in C# con svariati miglioramenti. Il dubbio che ho è se posso migliorare il vecchio metodo che utilizzavo per leggere il valore del peso dalla porta seriale. Ovviamente questa operazione non deve essere bloccante per il software che deve permettere all'operatore di eseguire anche altre funzioni.
Attualmente imposto la porta e tramite un timer invio il comando alla porta, ogni 100 ms, che serve a ricevere il dato del peso. Tradotto in c# attualmente uso questo codice per leggere la bilancia e la domanda è sostanzialmente se esistono sistemi migliori:
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM4";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.None;
serialPort1.StopBits = StopBits.One;
serialPort1.ReadTimeout = 500;
serialPort1.Handshake = Handshake.XOnXOff;
serialPort1.Encoding = Encoding.UTF8;
serialPort1.Open();
timer1.Interval = 100;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
serialPort1.Write("$");
label1.Text = serialPort1.ReadExisting();
}
Grazie in anticipo per i suggerimenti!