mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT-Befehle


Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo ist dein C-Programm?
Wo liegen die Probleme genau?

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marius Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.