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
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
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)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.