AT-Befehle

Gast #212449
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
Gast
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
Gast
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)
Gast
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.
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.