C# 如何从串口中 提取出多个数据

2025-01-31 12:15:56
推荐回答(2个)
回答1:

看看你数据的格式了。 和收到的数据的频率了,频率慢的话可以用正则表达式匹配字符串处理;
快的话建议状态机,一个个字符处理。伪代码如下
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: //到实际的数据就拿出来单独处理,这样就肯定不会出错了。
}

回答2:

先将数据Split('摄氏度')分离数组,每个数组数据格式为T=数字,将数组内每个元素indexof('=')取数值。