Ich habe in der Lage, die Daten des Indikators auf meinem Computer zu zeigen,C# Lesen Sie serielle Schnittstelle Gewicht Kardinalskala 210
die Ausgabe aussehen wie-diese
„[SPACE] [SPACE] 978 0Kg“
[sPACE] ist Raum, um Text (leer)
ich nur Zahlen angezeigt werden soll,
Ich benutze das folgende Skript.
private delegate void Closure();
private void SerialPortOnDataReceived(object sender, SerialDataReceivedEventArgs serialDataReceivedEventArgs)
{
if (InvokeRequired) //<-- Makes sure the function is invoked to work properly in the UI-Thread
BeginInvoke(new Closure(() => { SerialPortOnDataReceived(sender, serialDataReceivedEventArgs); })); //<-- Function invokes itself
else
{
while (_serialPort.BytesToRead > 0) //<-- repeats until the In-Buffer is empty
{
String tampung = _serialPort.ReadExisting();
Regex regex = new Regex(@"[^\d|\.]");
tampung = regex.Replace(tampung, "");
textBox1.Text += string.Format("{0:X2} ", tampung);
}
}
}
aber es zeigt unvollständige Zahlen, die letzte Zahl Null nicht geben
Ausgang:
ich verwende Indikator http://www.cardinalscale.com/cs_product/210-storm/
Ist stimmt etwas nicht?