我正在使用此代码Serial.print((char)Serial2.read());
y456x123
y444x333
现在我想将数据存储在x& y变量为x=123
& y=456
同样是第二次
x=333
& y=444
。
我该怎么做?
答案 0 :(得分:1)
Wel dude,每次传输你都会有大约9个事件调用(代码执行),但是你没有做出正确的解析,因为你给了atoif函数字母('x'和'y')
我建议你将all存储到一个数组中,然后循环进入数组并将数字添加到循环中。
存储:
array[possition] = received;
possition++;
然后,当存储它完成时(收到=='\ n'):
if(array[possition] != 'x'){
x = (x*10) + (int) array[possition];
}
这是一个简单的想法,需要在if语句中进行过滤,否则它将添加两个值。
答案 1 :(得分:0)
完全错误,你不知道指针是什么。 这是C / C ++中缺乏知识的原因
快速解决方案是使用String对象,最好的一个是学习C语言是一些好书/指南,关于指针要写在这里太多了。