AT commands senden per string senden

Gast #3929931
Lesenswert?

Guten Abend zusammen
Für ein Projekt möchte ich per AT-Commands von einem uC per GSM Modul 
(TC35i, Modul von Sainsmart.com) SMS versenden.
Wenn ich das GSM Modem direkt seriell mit dem PC verbinde und die 
AT-Befehle (über Putty oder SerialTerm) ausführe geht das Problemlos.
Folgende Befehle müssen dazu eingegeben werden:
1
AT [ENTER]
2
AT+CMGS="'Natelnummer des Empfängers'" [ENTER]
3
Die SMS Message [CRTL]+[Z]

Nicht so aber vom uC aus.

Folgenden Code habe ich versucht:
1
char string_1[]="AT\r";
2
char string_2[]="AT+CMGS=\"'Natelnummer des Empfängers\"\r"
3
char string_3[]="Die SMS Message"
4
char string_4[]="\x1A"  //=26, Ascii für CTRL-Z
Die strings werden dann nacheinander über die Serielle Schnittstelle 
ausgegeben.
(Was eigentlich auch funktioniert, wenn ich das gesendete wiederum in 
Putty anschaue)
Das GSM Modem kann autobauding, somit sollte es nicht an der Baudrate 
liegen, welche auf 9600 gestellt wurde.

Hat jemand Erfahrung damit oder kann mir Denkanstösse geben, wo ich 
einen Denkfehler mache?? Wäre sehr dankbar
Gast #3929947
Lesenswert?

Karl Heinz schrieb:
> nimm mal \n anstelle von \r.
> Es könnte auch sein, dass du beides angeben musst \r\n

Wenn ich per Terminal sende, brauche ich immer nur CR, aber ich werde 
das einmal versuchen, danke.

single quote schrieb:
> Was mir auf die Schnelle auffällt: In deinem Code fehlt das
> abschließende Single Quote nach der Telefonnummer.

Das war ein Flüchtigkeitsfehler beim "schwärzen" meiner Natelnummer, 
sorry

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren