编辑(摘要)
我试图一次将Char
/String
数据解释为Byte
4 个字节。这是因为我只能获取TComport
/TDatapacket
将流数据解释为字符串,而不是任何其他数据类型。我仍然不知道如何让Read
方法和OnRxBuf
事件处理程序与 TComport 一起工作。
问题总结
我正在尝试使用一些 Delphi 代码从质谱仪 (MS) 获取数据。仪器通过串口线连接,遵循 RS232 协议。我能够毫无问题地发送命令并处理来自 MS 的基于文本的输出,但我在解释数据缓冲区时遇到了麻烦。
背景
来自本仪器的用户手册:
“除离子电流值外,RGA 的输出是由换行符 + 回车终止符终止的 ASCII 字符串。离子信号以 10^-16 安培为单位的整数表示,并以十六进制格式直接传输 (四字节整数,2 的补码格式,最低有效字节在前)以获得最大数据吞吐量。 ”
我不确定(1)十六进制数据是否可以正确存储在字符串变量中。我也不确定如何(2)在 Delphi 中实现 2 的补码和(3)首先是最低有效字节。