Forum: Mikrocontroller und Digitale Elektronik SIM900 antwortet nur auf jeden zweiten Befehl


von SIM900 (Gast)


Lesenswert?

Hallo zusammen,

ich habe dieses Modul:
https://www.az-delivery.de/products/sim-900-shield

Daran hänge ich den PC (USB<>FTDI232) mit HTERM, stelle auf 19200 Baud 
und sende den Befehl "AT". Die Botschaft wird mit "CR" abgeschlossen. 
Nichts passiert. Sende ich 2s später den Befehl noch mal (ebefalls mit 
CR), anwortet mir das Modul korrekt mit "OK" (oder mit "ERROR" wenn ich 
nicht im Netz bin).

Jetzt warte ich 20s. Sende wieder "AT" und das gleiche Spiel beginnt von 
vorn.
Habe dann einen STM32F103 dran gehängt, gleiches Spiel. Verhalten bei 
allen AT-Befehlen gleich.

Dachte erst es liegt an der Auto Baud Detektion, aber selbst wenn ich 
die BAUD fest auf 19200 einstelle habe ich das gleiche Verhalten.

Ich habe dananch an eine Art Sleepmodes gedacht, in den das Modul nach 
wenigen Sekunden verfällt und eine Art "Dummy" Wakeup Botschaft benötigt 
um wieder auf "Empfang" zu gehen, aber ich finde leider nichts im 
Datenblatt und auch in den Beispielen im Netz ist nichts zu finden. 
Scheinen alle gut klar zu kommen mit dem Ding.

Masse vom FTDI bzw STM ist logischerweise mit der Modulmasse verbunden, 
das Modul hängt an einem Labornetzgerät (10A Strombegrenzung).

Was könnte es noch sein? Ich kann alles machen, Anrufe, SMS, alles 
funktioniert. Allerdings halt erst nur beim zweiten Mal und das ist 
unschön. Zumal der Rest der Welt das Problem scheinbar nicht zu haben 
scheint.

VG Jens

von Stefan F. (Gast)


Lesenswert?

Probiere mal DOS Umbrüche \r\n (CRLF)

von Sim (Gast)


Lesenswert?

0xD OxA

von eol (Gast)


Lesenswert?

Dem Titel nach tippe ich auch auf eol

von SIM900 (Gast)


Lesenswert?

Hallo zusammen,

danke für die Antworten!

Stefan ⛄ F. schrieb:
> Probiere mal DOS Umbrüche \r\n (CRLF)

also das senden von CR+LF hat leider das gleiche Ergebnis :(.


eol schrieb:
> Dem Titel nach tippe ich auch auf eol

In meiner Welt steht EOL für "End of Life" (Lebensdauer) oder für "End 
of Line" (Prüfstand) :D.
Erleuchtest du mich bitte was du mit eol meinst? Ich steh grad echt auf 
dem Schlauch.

VG Jens

von portwalker (Gast)


Lesenswert?

man kann die module doch konfigurieren auf welche steuerzeichen sie 
reagieren.
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjbloPhsZHtAhXBzIUKHbInDDEQFjAAegQIBhAC&url=https%3A%2F%2Fsimcom.ee%2Fdocuments%2FSIM900%2FSIM900_AT%2520Command%2520Manual_V1.11.pdf&usg=AOvVaw3iydXJqapITzHJijeY-4z8

Flow control auf beiden seiten identisch?
Nimm mal ein anderes Terminalprogramm und einen andere USB Wandler

von Monster (Gast)


Lesenswert?

SIM900 schrieb:
> Stefan ⛄ F. schrieb:
>> Probiere mal DOS Umbrüche \r\n (CRLF)
>
> also das senden von CR+LF hat leider das gleiche Ergebnis :(.

Ich hatte ein ähnliches Problem mit einem anderen Sendemodul. Erst mal 
hatte mein Terminalprogramm (unter Linux) nur ein LF angehängt. Nachdem 
das behoben war, hat es aber immer noch nicht funktioniert. Meine 
Recherche im Internet hat ergeben, daß es vermutlich mit dem USB-Serial 
Interface zu tun hat (aber ganz sicher bin ich mir nicht). Es ist wohl 
nicht garantiert, daß das Interface die seriellen Daten in einem 
kontinuierlichen Bytestrom herausschickt, da die Daten mit USB Bulk 
Transfer an das Interface geschickt werden, und es hier zu Pausenzeiten 
zwischen 2 Transfers kommen kann. Mein Sendemodul hat beim Empfang hier 
wohl ein sehr empfindliches/kurzes Timeout.
Ich konnte das Problem erst beheben, als ich einen Arduino dazwischen 
geschaltet habe, der die AT Kommandos in einem Rutsch an das Modul 
schickt.

Frage also, hast du den Versuch mit CR+LF auch mit dem STM32 gemacht?

> eol schrieb:
>> Dem Titel nach tippe ich auch auf eol
>
> In meiner Welt steht EOL für "End of Life" (Lebensdauer) oder für "End
> of Line" (Prüfstand) :D.
> Erleuchtest du mich bitte was du mit eol meinst? Ich steh grad echt auf
> dem Schlauch.

Na ja, 'eol' steht eben auch für 'end-of-line'.

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.