0

計量機を読み取るシリアルポートアプリがあります。

    public void Read()
    {
        while (Puerto.BytesToRead > 0)
        {
            try
            {
                string inputData = Puerto.ReadExisting();
                dataReceived = inputData;
            }
            catch (TimeoutException) { }
        }
    }

戻り文字列は次のようになります

はかりから返されたデータ

他の異常な文字が含まれていますが、そこからきれいなデータを解析または取得するにはどうすればよいですか? 必要なのは0.52ポンドだけ

4

2 に答える 2

1

それが何の計量機で、シリアルポートの仕様が何かはわかりませんが、それがあなたにとってもブラックボックスである場合は、次のことを確認してください。 1 つのサンプル ウェイトでいくつか (10?) サンプルを実行し、バイト数が毎回配信されるかどうかを確認します。重みに続くガベージは、追加のバイナリ データである可能性があります。-そうでない場合、毎回正確なオフセットで重み(テキスト)が表示される場合は、出力をスクレイピングできます

これは完全なリバース エンジニアリングですが、技術仕様に従って、より洞察力のあるデータ処理を行うことをお勧めします。

于 2012-12-21T06:20:14.300 に答える
1

これは、計量​​機のバグ、ある種のハードウェアの問題、またはシリアル ポートの構成方法の問題など、あらゆる可能性があります。設定に問題があると思います。すべての設定が正しいことを確認してください (ボーレート、ハンドシェイク、パリティ、ストップビット)。また、別のプログラム (たとえばhttp://helpdeskgeek.com/windows-7/windows-7-hyperterminal/を参照)を使用して同じシリアル ポート デバイスに接続してみて、同じガベージ データが表示されるかどうかを確認してください。

于 2012-12-21T06:07:31.323 に答える