arduino char数组序列

时间:2014-12-08 14:04:54

标签: c++ serial-port char arduino arrays

我在这里为我的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];
  }
}

1 个答案:

答案 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;
    }
  }
}