Pages: [1]   Go Down
Author Topic: Abfrage nach AT-CIPSEND ob ">" Zeichen gesendet wird.  (Read 417 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 125
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: March 31, 2013, 07:56:12 am by legotechnicus » Logged

Everybody makes mistakes, me too smiley

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Mario.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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ß

« Last Edit: March 31, 2013, 03:47:29 pm by Trottel100 » Logged

Pages: [1]   Go Up
Jump to: