我正在使用以下代码在 arduino 中接收串行数据Serial.print((char)Serial2.read());
:
y456x123
y444x333
现在我想将数据存储在 x & y 变量中x=123
,y=456
类似地第二次
x=333
& y=444
。
我怎样才能做到这一点?
我正在使用以下代码在 arduino 中接收串行数据Serial.print((char)Serial2.read());
:
y456x123
y444x333
现在我想将数据存储在 x & y 变量中x=123
,y=456
类似地第二次
x=333
& y=444
。
我怎样才能做到这一点?
好吧,伙计,每次传输您将有大约 9 个事件调用(代码执行),但是您没有进行正确的解析,因为您将字母('x' 和 'y')提供给 attoif 函数。
我建议你将所有存储到一个数组中,然后循环到数组中并将数字添加到循环中。
储藏:
array[possition] = received;
possition++;
然后,当存储完成时(收到 == '\n'):
if(array[possition] != 'x'){
x = (x*10) + (int) array[possition];
}
这是一个简单的想法,它需要在 if 语句中进行过滤,否则它将添加两个值。
这是完全错误的,你不知道指针是什么。这是 C/C++ 知识的严重缺乏
快速的解决方案是使用 String 对象,最好的方法是学习 C 基础是一些好书/指南,这里有太多关于指针的内容要写。