Arduino 字符数组串行

Arduino character array serial

本文关键字:数组 字符 Arduino      更新时间:2023-10-16

我在为我的Arduino编写这段代码时遇到了一些麻烦。

基本上,我正在尝试发送一系列字符,将其转换为字符数组,并使用它来运行程序的其余部分。我很接近,因为我知道内部一切正常,但是当我从串行端口启动时,消息没有进入。

我认为在这一点上,这可能是我构建数组的方式......或者一些奇怪的东西。这可能只是我如何将代码放在一起的简单错误,但我完全被打动了。(我以前使用字符串,但由于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];
  }
}
这对

我有用,

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