Arduino Nano SIm800L Modul String setzen und vergleichen.

Das mit den Globalen und Lokalen Variablen ist mir völlig fremd. Ich weiß, dass ich noch folgendes machen könnte, nur als Beispiel

:

void LeseNachricht(char inhalt[160] = "", char c, int charCounter, int punktCount, int fuesseCount)

{
  tcSerial.println("AT+CMGF=1"); // Setze Textmode auf 1
  delay(500);
  tcSerial.println("AT+CMGR=1"); // Lese erste Nachricht im Speicher SM
  delay(500);

  while (count == 0) // Loop bis count nicht mehr gleich 0.
  {
    
    charCounter = 0;
    fuesseCount = 0;
    punktCount = 0;
    //inhalt[charCounter] = '\0';
    while (tcSerial.available() > 0)// Wenn dort Daten sind dann lese sie.
    {
      c = (char)tcSerial.read();
      if (fuesseCount >= 2 && punktCount == 1) //Zählt bis anzahl der füße erreicht.
      {
        inhalt[charCounter++] = c; // Schreibt jedes Zeichen einzellnd in das Char Array
      }
      inhalt[charCounter] = '\0';
      if (c == '\n') fuesseCount++;  // Zählt ["]
      if (c == '.') punktCount++;   // Zählt [.]
      Serial.print(c);
      count++; // Erhöhe die Variable count um 1
    }
  }
  NachrichtenLoeschen();
  count = 0;

Dann könnte ich auch im loop mit der Methode LeseNachricht:

void loop()
{
 LeseNachricht( hier alle Variablen befüllen.);
}

Aber da bin ich dann mit der Syntac komplett überfordert. Ich beschäftige mich jetzt auch zum ersten mal mit dem Thema Programmierung.

Aber nur Beispiele abzuarbeiten, ist nichts für mich. Ich brauche zum lernen immer ein reales Problem.

Mit dem warten nach dem Senden eines AT befehles an das Modul, hatte ich das eigentlich so verstanden, dass das Modul eine gewisse Zeit braucht um den Befehl zu verarbeiten. Was sich für mich bis jetzt auch so gezeigt hatte, denn wenn ich die Befehle zu schnell sende, dann macht das Modul nichts mehr und in der seriellen Ausgabe kommen nur komische Zeichen. Deswegen denke ich schon, dass ich da was mit Zeiten machen muss.