我在这里为我的arduino处理这段代码有点麻烦。
基本上我尝试做的是发送一系列字符,将其转换为char数组,并使用它来运行程序的其余部分。我已经关闭,因为我知道一切都在内部完美运行,但是当我从串口启动时,消息就没有进入。
我认为在这一点上,我可能正在构建数组...或者有些奇怪。可能只是我将代码放在一起的一个简单错误,但我完全被击中了。 (我之前使用的是字符串,但由于arduino如何与它们一起工作,因此很难将它们用于内存目的)。
我正在使用java程序(ardulink)将信息发送到程序中,并使用我编辑过的自定义版本。简单地说,输入必须是一系列字符,我需要将它存储在一个数组中。
void serialEvent ()
{
int arrayPostion = 0;
int i;
int maxArraySize = 20;
char CharArrayInLocal[20];
while (Serial.available() && !stringComplete)
{
char inChar = (char)Serial.read();
CharArrayInLocal[arrayPostion] = inChar;
arrayPostion++;
if (inChar == '\n')
{
stringComplete = true;
}
}
for (int i = 0; i<=19; i++)
{
CharArrayIn[i] = CharArrayInLocal[i];
}
}
答案 0 :(得分:0)
这对我有用,
String CharArrayInLocal[20];
String inputString = "";
boolean stringComplete = false;
int i=0;
void serialEvent() {
while (Serial.available()) {
char inChar = (char)Serial.read();
if (inChar == '\n') {
CharArrayInLocal[i]=inputString;
i++;
stringComplete = true;
inputString="";
}
else{
inputString += inChar;
}
}
}