Go Down

Topic: Abfrage nach AT-CIPSEND ob ">" Zeichen gesendet wird. (Read 490 times) previous topic - next topic

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

legotechnicus

#1
Mar 31, 2013, 02:52 pm Last Edit: Mar 31, 2013, 02:56 pm by legotechnicus Reason: 1
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
Everybody makes mistakes, me too :)

mkl0815

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

Code: [Select]

//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:
Code: [Select]
if(GPRS.read() == '>'){
Vorausgesetzt, GPRS.read() liefert ein Zeichen (char, byte, uint_8 etc.) zurück.

Mario.

#3
Mar 31, 2013, 08:23 pm Last Edit: Mar 31, 2013, 10:47 pm by Trottel100 Reason: 1
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ß


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy