字符数据的问题
由串口接收进来的数据为:>+1234.1+1234.5-1234.5-1234.5+0.1234 的格式,如何把它拆分存贮或是显示? 串口通讯首要的是了解或指定上、下位机的通讯协议!不先说明通讯协议,仅仅从上面短短一行字符分析,很可能会得出错误的结论!
从你的数据来看:1、接收的是字符型数组:2、〉可能是帧起始字符,+ 、-可能是数据的正负号;
但是数据精度如果从上面看却是不一致的:有些是一位,有些是四位!
所以,你最好先说明一下你的通讯协议是怎样的!! 接收数据格式为:>+1234.1+1234.5-1234.5-1234.5+0.1234
1、接收的是字符型数组
2、〉是帧起始字符,
3、+ 、-是数据的正负号;
4、数据精度是不一致的,但都是浮点数 接收数据格式为:>+1234.1+1234.5-1234.5-1234.5+0.1234
1、接收的是字符型数组
2、〉是帧起始字符,
3、+ 、-是数据的正负号;
4、数据精度是不一致的,但都是浮点数,并且所占字符位数都一样 对于这种情况,
1、将接收的一帧数据赋给一个数组(问题是你的每帧数据长度是否固定?是否有帧结尾标志?因为这关系到你接收的一帧数据是否完整);
2、从数组的第二个字符开始读取字符串(即去除帧起始字符),每次读取七个字符(每个数据连符号和小数点共占七位),将其存入一个二维数组array(7,n),n是每帧数据个数!
3、在对子字符串进行处理-〉取出符号为(保存后面用);
4、用Fmt()函数将各个子字符串(不含符号位)转化为浮点性数据;
5、加上符号位。
大致流程就是这样! 思路基本明白了,谢谢!
页:
[1]