看看你数据的格式了。 和收到的数据的频率了,频率慢的话可以用正则表达式匹配字符串处理;
快的话建议状态机,一个个字符处理。伪代码如下
int st = 0;
switch(st)
{
case 0: //等待第一个字符
if (c == 0xAA) //假设第一个字符是AA
st++;
break;
case 1:
if (c==0xBB)
st++;
else
st = 0;
break;
...
case n: //到实际的数据就拿出来单独处理,这样就肯定不会出错了。
}
先将数据Split('摄氏度')分离数组,每个数组数据格式为T=数字,将数组内每个元素indexof('=')取数值。