Hallo zusammen, habe mal eine Frage: Ich quarke über eine UART mit einem GSM Modul, alles funktioniert wunderbar, bis auf, dass machmal der AT Befehl zum GSM Modul geschickt wird, jedoch kommt kein OK zurück und der Mikrocontroller wartet vergeblich auf ein Antwortzeichen! Meine Frage nun: Kann es öfters sein, dass man ein Befehl zweimal absetzen muss, da das GSM Modul machmal ein Befehl nicht erkennt? Meine Baudrate ist 9600 also nicht wirklich schnell. Der Fehler tritt auch nicht regelmäßig auf. Über das JTAG ICE MK2 erkenne ich, dass er machmal vergeblich auf eine Antwort des GSM Moduls wartet. GSM Modul= Telit GE863 MC = 644P UART = Peter Fleury
Hallo Tommy, benutze doch einfach einen Timer, der dafür sorgt, dass wenn du nach einer bestimmten Zeit keine Antwort bekommen hast, der AT-Befehl erneut gesendet werden soll. Grüße
Genau das wollte ich machen! Jedoch wollte ich mal wissen, ob das schon ein Zeichen von schlechter Programmierung meinerseits ist, oder ob GSM Module öfters so etwas machen.
Meistens ist das ein Zeichen dafür, dass eine UART Kommunikation auf Gott-Vertrauen basiert und ohne Handshake abgewickelt wird. Das kann ein Fehler auf deiner Seite sein (Handshake wird nicht ausgewertet), kann aber auch ein Fehler auf der GSM Seite sein (Modul verlässt sich darauf, dass die Gegenstelle es nicht überfahren wird und daher auf Handshake verzichtet)
Hallo Karl Heinz, okay dann wird es wohl daran liegen, dass ich nur TX und RX verwende und nicht CTS und RTS oder?
Tommy schrieb: > Hallo Karl Heinz, > okay dann wird es wohl daran liegen, dass ich nur TX und RX verwende und > nicht CTS und RTS oder? Klingt zumindest als abzuklärende Hypothese schon mal nicht schlecht.
Sind CTS und RTS eigentlich low aktiv? Heißt das ich muss warten bis RTS high oder low ist? Und wenn ich sende muß dann CTS low oder high sein?
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.