Forum: Mikrocontroller und Digitale Elektronik AT-Befehle


von Thorsten (Gast)


Lesenswert?

Hallo!
Hatte schonmal gefragt. Kann mir jemand einen Tip geben?
Ich möchte AT-Befehle an ein GSM-Modul über den UART schicken und
auch
die results des Moduls (Modems)auswerten. Hardware steht eigentlich
soweit. Komm nur mit dem C-Programm nicht klar.
Kann mir da jemand weiter helfen?

Gruß, Thorsten

von crazy horse (Gast)


Lesenswert?

wo ist dein C-Programm?
Wo liegen die Probleme genau?

von Thorsten (Gast)


Lesenswert?

Hallo crazy horse!
Mein Problem liegt darin, daß ich nicht weiß, wie man nicht nur ein
Zeichen, sondern eine Zeichenkette über den UART sendet, bzw.
empfängt.Die Befehle sind ja schließlich länger, als ein Zeichen.  Das
Modem gibt ja auch jedesmal eine Antwort (result) zurück, zur
Kontrolle, bzw. Fehlermeldung.
Außerdem dauert es je nach Befehl unterschliedlich lange, bis ein
result zurückgegeben wird (bis zu 120 Sekunden).
Ist es da sinnvoll nach jedem eingegebenen Befehl eine Warteschleife
einzubauen?
Wie Du siehst habe ich Fragen über Fragen.
Ich muß zu meiner Schande gestehen, daß ich nicht wirklich ein
C-Experte bin. Habe schon nach bestehenden Programmen geschaut, wurde
da allerdings nicht wirklich fündig!
Wenn Du mir noch irgendwelche Tips geben könntest? Ich wäre für alles
dankbar.

Danke schonmal für die Mühe,

              Thorsten

von Marius Schmidt (Gast)


Lesenswert?

Hast du dir schon mal das AVR-GCC-Tutorial auf dieser seite angeschaut?

Da gibt es nämlich diese Funktion:
/* puts ist unabhaengig vom Controllertyp */
void uart_puts (char *s)
{
    while (*s)
    {   /* so lange *s != '\0' also ungleich dem
"Sting-Endezeichen" */
        uart_putc(*s);
        s++;
    }
}

Die sendet einen 0-terminierten string über UART (0-terminiert sind
normalerweise alles strings in C, die 0 wird nicht mit gesendet)

von crazy horse (Gast)


Lesenswert?

sehr schön kann man das mit putsf () machen, sendet einen String aus dem
flash, ob das alle Compiler unterstützen, weiss ich nicht.
printf("ATI"\r\n") geht natürlich auch.

von Thorsten (Gast)


Lesenswert?

Ich danke Euch für die Tips!
Ich denke mal das Senden der Befehle kriege ich jetzt hin!

Ich hoffe ich kann mich bei weiteren Problemen nochmal melden.

Gruß,
             Thorsten

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.