I am about to implement a console program for PC which works with a GPRS modem (SIM800L, particularly).
I've just learnt what it is hard to parse the responses due to appearance of UCR (Unsolicited Result Codes).
So I had a bit googling and found this post:
Quoting:
Turn ON the ECHO (ATE1) Most of application samples that I’ve seen turn off the ECHO (by sending ATE0). The reason is unknown, but most of them saying to reduce the serial port communication (hence reducing the parser effort). But that is not correct.
If you want to build robust communication, you should turn ON the ECHO. The reason is simple, you can detect the sequence of the command/URC that’s received by the modem. Here’s the actual sequence of the illustration above (viewed from the modem’s echo):
application>AT+CMGL=4 # List all of SMS inside the ME ME> OK # There's no SMS inside the ME ME> RING # Incoming call ME> RING # Incoming call
I am confused. I guess it should work but only if a response always goes right after a corresponding command.
But I couldn't find a strong point for it. Neither description of AT commands nor SIM800L datasheet does contain that statement.
Or maybe I just understand it in a wrong way?