Forum: Mikrocontroller und Digitale Elektronik ATMEGA32 und GSM Modem


von William 159 (Gast)


Lesenswert?

Hallo,
ich versuche gerade per Mikrocontroller über ein GSM Modem ein SMS zu 
versenden.
Dabei habe ich bei dem AT Befehl: AT+CPIN="1234" folgendes Problem:
1. Beim Terminalprogramm kommt das Response Zeichen "OK"
2. Beim Mikrocontroller kommt das Responsezeich "Error"

Im C-Programm sieht das so aus:

void Modembefehle (char Befehl)
{
char PIN[17]={"AT+CPIN=\"1234\"\r\n"};


char i = 0;
char lange;
char *pointer;


switch (Befehl)
{
case 1:  lange =strlen(PIN);  pointer = PIN;    break;
}

      #asm("cli") //Interrupts ausschalten
for (i=0;i < lange; i++)    //Auf RS232 schreiben

  {
  while(!(UCSRA & (1<<UDRE)))  //Warte bis Sendespeicher frei ist
  ;

  UDR = *pointer;    //Sendespeicher beschreiben
         ++pointer;
  }
    #asm("sei") //Interrupts ein
}

Weiß irgendwer woran mein Problem liegen könnte?
Vielen Dank für Eure mühen
bg Willi

von Niels K. (niels-k)


Lesenswert?

Das dürfte daran liegen, dass der PC etwas anderes sendet als der UC.
{"AT+CPIN=\"1234\"\r\n"}
ist eben nicht gleich
AT+CPIN="1234"

Das liegt an den Hochkommata. Diese sollten über Charakter gesendet 
werden (sofern diese von Interesse sind - was sie sind, da es sich 
schließlich um den PinString handelt). Müsste Charakter 34 sein.

By the way ist es sinnlos eine PIN über die Serielle zu senden. Kann 
ohnehin jeder lesen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.