1,串口发来的数据格式是 "命令名+空格+id1+空格+id2+空格+id3+空格+id4+空格+id5+空格+"string"\r" 例如如下的真实数据: revdata 1 1 17 1 2 "hi"\r 2,请问我怎么把收到的数据用5个变量保存,比如我定义了变量如下: uint8_t id1,id2,id3,id4,id5; char *string; 最终我想要得到的结果是 id1=1 id2=1 id3=17 id4=1 id5=2 *string="string" 3, 有时候命令只带id1,id2 有时候命令只带id1,id2,id3 有时候命令只带id1,id2,id3,id4 有时候命令只带id1,id2,id3,id4,id5 也就是说,revdata后面跟的数据个数不一定。 请问我这个问题应该怎么解决呢?一筹莫展,谢谢大家了。 |
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
不行的,只知道第几个空格后面是什么类型数据,数据长度是不一定的。那字符串来什么字符都可能,确定不了长度。
长度不可知。实时数据,长度是不定的。
好像很好。是我想要的。像python和java等里面都有个split函数,很简单就能拆分了字符串。感谢。
下位机发数据的时候包含数据长度不就知道了吗,协议自己定,如果你没办法改协议就当我没说