转换来自串口的数据

时间:2012-05-02 20:09:05

标签: c# serial-port

我正在研究一个硬件接口项目并使用c sharp在.net上构建它。在这个应用程序中,我从超级终端上的串口接收数据。数据接收就像一个魅力。但问题是它给了我一个无法读取的数据,如下所示

超级终端的数据是

D1U1201250000000085865000000S004100417001130034200820202710033000404102000004100759000080000200031004740010500097002250

其含义完整形式如下

Report of Sample no# 85865
WBC = 4.1x103/µL
RBC = 4.17 x106/µL
HGB = 11.3 g/dL
HCT = 34.2 %
MCV = -82.0 fL
MCH = 27.1pg
MCHC = 33.0 g/dL
PLT = + 404 x103/µL

LYM % = 20.0%
MXD % = 4.1%
NEUT % = 75.9%
LYM# 0.8 x103/µL
MXD # 0.2 x103/µL
NEUT # 3.1 x103/µL
RDW = 47.4 fL
PWD = 10.5 fL
MPV = 9.7 fL
P-LCR 22.5 %

我想问一下如何将第一种形式的数据转换为seconf可读形式。谢谢 任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

看起来固定大小的格式数字连接在一起。使用String.Substring切成碎片,然后转换为int并根据需要进行缩放。

如下所示,假设位置20“022030”的值需要转换为22.030:

var fragment = result.substring(20, 6);
var intValue = int.Parse(fragment);
var outputValue = intValue *0.001;