-2

編集(要約)

Char/ Stringdata をByte一度に 4 バイトずつ解釈しようとしました。これは、ストリーミングされたデータを他のデータ型としてではなく、文字列として解釈するTComportことしかできなかったためです。メソッドとイベント ハンドラを TComport で動作させる方法TDatapacketをまだ知りません。ReadOnRxBuf

問題の概要

Delphi コードを使用して、質量分析計 (MS) からデータを取得しようとしています。機器はシリアル ケーブルで接続され、RS232 プロトコルに従います。コマンドを送信し、MS からのテキストベースの出力を問題なく処理できますが、データ バッファの解釈に問題があります。

バックグラウンド

この機器のユーザーマニュアルから:

「イオン電流値を除いて、RGA の出力は、ラインフィード + キャリッジ リターン ターミネータで終了する ASCII 文字列です。イオン信号は、10^-16 アンペア単位の整数として表され、16 進形式で直接送信されます ( 4 バイト整数、2 の補数形式、最下位バイトが最初) を使用して、最大のデータ スループットを実現します。

(1) 16 進データを文字列変数に正しく格納できるかどうかはわかりません。また、 (2) Delphiで2の補数を実装する方法と(3)最下位バイトを最初に実装する方法もわかりません。

4

1 に答える 1