Unable to send SMS using AT Commands

不打扰是莪最后的温柔 提交于 2019-11-27 09:52:10
hlovdal

Your problem is the following:

port->write("AT+CFUN=1");
port->write("AT+CMGF=1 ");
port->write("AT+CMGS=1234567");
port->write("Hello Test SMS");

Always after sending a AT command line to the modem, you MUST wait for the final result code (e.g. typically OKor ERROR although there are some more, and you must be prepared to handle all of them. For an example of how to wait for final result codes, you can look at the source code of atinout, which is a tiny program for reading a list of AT commands, send them to the modem and print the responses).

Because without waiting the following command will abort the currently executing command. Abortion of AT commands is defined in section "5.6.1 Aborting commands" in V.250. If you have little experience with handling AT commands, that specification is a must read. Also you would do well in reading 27.005 for the +CMG... commands you use. You find links to the specifications on the at-command tag information.

For AT+CMGS specifically you must also wait for "\r\n> " before sending the text, see my other answer.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!