我在ut ubox vs 2000心电图机上工作。这台心电图机在下面给出的局域网(LAN)上以字节数组的形式传输数据。
如何从该数组中获取ecg波值。
我的代码是below.but,我无法获得实际的值。
byte[] tst = {0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xFF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xFF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xFF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xFF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFD, 0xFF, 0xCF, 0xFC, 0xFF, 0xDF, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xFE };
string strresult = "";
for (int j = 0; j < tst.Length-1; j+=2)
{
strHex = String.Format("{0:x2}", tst[j]);
strHex += String.Format("{0:x2}", tst[j + 1]);
strresult = strresult + "," + short.Parse(strHex, System.Globalization.NumberStyles.HexNumber);
}
Console.WriteLine(strresult);发布于 2012-06-28 19:27:10
所以你想把一个字节数组(8位)转换成一个字数组(16位)?
尝试BitConverter.ToUInt()方法,它从数组中获取两个字节,并返回int16 (也称为short
for (int j = 0; j < tst.Length-1; j+=2){
strresult = strresult + "," + BitConverter.ToUInt16( tst, j ).toString();
}根据有符号或无符号的值选择首选方法(toUInt16或toInt16 ),并注意little or big endianess,您可能需要在某些时候切换字节顺序。
(未测试语法的代码)
https://stackoverflow.com/questions/11243392
复制相似问题