Tauber Serialempfänger

Hallo zusammen,

ich bin gerade am testen meiner Datenkommunikation via Serial. Da mag was nicht so ganz hinhauen.

Ich verwende diesen Code zum empfangen:

// Serialempfänger
bool readSerial()
{
  static byte index;

  if(Serial.available())
  {
    char c = Serial.read();

    if(c >= '0' && c <= '9' && index < MAX_NUMBERS)
    {
      conSerial[index] = conSerial[index] * 10 + c - '0';
    }
    else if (c == '#')
    {
      conSerial[0] = 0;
    }
    else if(c == ',' && index < MAX_NUMBERS)
    {
      index++;
      conSerial[index] = 0;
    }
    else if(c == '\n')
    {
      index = 0;
      return true;
    }
  }

  return false;
}

Dieser steckt sowohl in meinem Steuergerät, als auch in den Terminals. In den Terminals, so hab ich’s bereits getestet, funktioniert es mehr oder weniger einwandfrei (die Fehler liegen noch bei mir in den Feinheiten^^).
Beim Steuergerät aber funktioniert exakt der gleiche Code nicht!
Ich frag bei beiden ab:

if (readSerial())

Und danach dann immer über

if (conSerial[x] == x)

Mein Steuergerät hatte die ID “000” verpasst gekriegt. Deswegen dachte ich, dass es deshalb vllt. nicht reagiert. Also mal auf “998” umgestiegen (alles im Serial Monitor). Ergebnis aber das gleiche. Also mal überprüft, ob’s am ansprechen oder empfangen liegt. Ergebnis: Das Steuergerät empfängt nicht mal was!
(Überprüft folgendermaßen:

if (readSerial())
{
  lcd.print("Hallo");
}

)

Das ist gerade erst mal das größere Problem, um die anderen kann ich mich danach kümmern.
Aber ich bin echt planlos, was da schief laufen könnte.
In Serial Monitor schreib ich was a la:
#998,21,2”
Ist dafür da, um die ID’s der Terminals einzutragen und auf Vollständigkeit zu prüfen. Aber er empfängt eben nichts.

Ich hoffe, ihr könnt mir helfen.

LG

Fipsi

Fipsi: Das Steuergerät empfängt nicht mal was!

Schaltung?

Serielle Geräte dreipolig verkabelt (RX/TX gekreuzt und GND miteinander verbunden)?

Hast du den Serial Monitor auch so eingestellt, dass er das Linefeed am Ende sendet?

jurs: Schaltung?

Serielle Geräte dreipolig verkabelt (RX/TX gekreuzt und GND miteinander verbunden)?

Die Schaltung passt. Am Seriel Monitor empfang ich ja auch was.

Serenifly: Hast du den Serial Monitor auch so eingestellt, dass er das Linefeed am Ende sendet?

Ist eingestellt auf "Neue Zeile (NL)", genauso wie auch beim Terminal.

LG

Fipsi

Ich hab den Fehler gefunden. Ich weiß nicht, wie ich drauf gekommen bin, aber: Der MAX487 saß in seinem Sockel. Der hat den Empfang gekillt.

Aber danke für eure Ansätze

LG

Fipsi