SIM800L erst Netzeinwahl überprüfen

Hallo,
ich verwende für das SIM800l-Modul mit softwareserial auf den Arduino ports 7 und 8. Funktioniert alles einwandfrei. Jetzt würde ich aber gerne erst dann mit dem Code fortfahren wollen, wenn das SIM-Modul wirklich mit dem Netzbetreiber verbunden ist. Geht das? Leider habe ich bislang keine passenden Suchtreffer im www landen können. Ich denke da an etwas, wie es der serielle Monitor auch hat: while (!serial);
Oder gibt es eine Funktion, die die Einwahl abfrägt?
Würde mich über Hilfe freuen, danke.

Oder gibt es eine Funktion, die die Einwahl abfrägt?

Du meinst bestimmt ein AT Kommando ?

SIM.JPG

Klappt so noch nicht:

boolean network_status;

boolean checkNetwork() { 
 if (serialSIM800.find("0,1")) {
  Serial.println("Netzwerk OK");
  return true;
 }
else {
  Serial.println("Kein Netzwerk");
  return false;
 }
}

void setup() {
  Serial.begin(9600);
  while(!Serial);

  serialSIM800.begin(9600);
  while(!serialSIM800);

  delay(1000);
  serialSIM800.println("AT+CREG?\r\n");
}

void loop() {
  while (!network_status){
    network_status = checkNetwork();  
    delay(2000);
  }
//Hier gehts weiter wenn network_status=true
}

Das du eine Bibliothek benutzt hast du noch nicht erwähnt und auch nicht welche. Den Betreiber lässt du dir auch nicht anzeigen....

Habe ich, siehe Eröffnungsthread: SoftwareSerial.h
Ich glaube, der Fehler liegt im else-Teil:

boolean checkNetwork() {
 if (serialSIM800.find("0,1") || serialSIM800.find("0,5")) { //verbunden im Home-oder-roaming-Netz
  Serial.println("Netzwerk OK");
  return true;
 }
else {
  Serial.println("Kein Netzwerk");
  serialSIM800.println("AT+CREG?\r\n");
  return false;
 }
}

Nun funktioniert's auf dem Uno. Lade ich das Ganze auf einen atmega328p im breadboard funktioniert's nicht. Ich habe glaube ich schon 100x die fuses und die Verkabelung überprüft, finde aber nicht warum es nicht geht.
Aber das wird ein neues Thema...