Abfrage nach AT-CIPSEND ob ">" Zeichen gesendet wird.

Hallo,
ich will eine Abfrage nach CIPSEND auf das > ZEICHEN abfragen.

ioch versuche dies mit

for (int i=0; i <= 5; i++){
if(GPRS.read() == “>”){
i = 5;
delay(1000);
Serial.print(“X”);

}

leider kommt beim Compilieren der Fehler Comparsion error between pointer and integer

Was kann ich machen, dass auf das Zeichen geprüft wird, er soll die Abfrage 5 mal widerholen wenn > nicht kommt ansonsten weiter.

Danke

Hi,
deine If Abfrage schließt sich nicht, also hat der Compiler eine Klammer zu wenig.
for (int i=0; i <= 5; i++){
if(GPRS.read() == “>”){ // Klammer geht auf,
i = 5; // aber hier nicht mehr zu
delay(1000);
Serial.print(“X”);

} // Das wäre jetzt für den Compiler die Endklammer für die IF Abfrage, die Klammer für die FOR-Schleife fehlt
} // mit dieser Klammer funktioniert es

Außerdem ist ">" ein String, nicht nur ein Zeichen. Hier ist es ganz wichtig, zwischen den Zeichen " und ' zu unterscheiden

//ich bin ein String, denn ich bin in " eingeschlossen
//außerdem bin ich 2 Zeichen lang
char * zeichenkette = ">";

//ich bin ein Zeichen, denn ich bin in ' eingeschlossen
char zeichen = '>'

Dein Vergleich muss also wiefolgt aussehen:

if(GPRS.read() == '>'){

Vorausgesetzt, GPRS.read() liefert ein Zeichen (char, byte, uint_8 etc.) zurück.

Mario.

Hallo, danke für die Antwort, leider kommt bei GPRS.read() nicht das Zeichen > raus.

Dies wird erst gesendet nachdem der Befehl ausgeführt wurde (dies ist vorher festgelegt worden durch "GPRS.println("AT+CIPSEND=1"); // Set its prompt echo '>'and shows "send ok" when sending is successful" .

Gibt es einen Befehl der wartet bis das zeichen > gesendet wurde (auf der seriellen Ausgabe)?

Gruß