是否可以AT+CMGS
通过 ESC 以外的某些控制代码取消命令?
我需要它,因为 ESC 被附加设备拦截以供自己使用,并且永远不会到达调制解调器。而且,我无法改变这一点。
不幸的是,CTRL-Z甚至会发送一条空消息,否则我可以退格足够的空间来清除消息并执行CTRL-Z以中止。
相关的“AT 命令集”手册没有帮助。
是否可以AT+CMGS
通过 ESC 以外的某些控制代码取消命令?
我需要它,因为 ESC 被附加设备拦截以供自己使用,并且永远不会到达调制解调器。而且,我无法改变这一点。
不幸的是,CTRL-Z甚至会发送一条空消息,否则我可以退格足够的空间来清除消息并执行CTRL-Z以中止。
相关的“AT 命令集”手册没有帮助。
根据TS 127 005规范,似乎没有办法为 SMS 发送中止配置字符。
无论如何,我可以根据三个不同的命令提出一种解决方法:
+CMGW
- 将消息写入内存+CMGD
- 删除消息+CMSS
- 从存储发送消息所以基本上,而不是使用+CMGS
它一步发送消息
+CMGW
使用(与 的语法相同)将 SMS 写入内存+CMGS
。用CTRL-Z字符关闭 SMS 内容后,它的答案是
+CMGW: <index>
<index>
当前内存存储中的消息位置索引在哪里
实际上发送它
AT+CMSS=index
删除短信
AT+CMGD=index
由于内存插槽有限,无论如何您都必须将其删除。如果您意识到您在+CMGW
阶段编写的消息是错误的,请使用CTRL-Z将其存储并跳过实际发送。
如您所见,整个过程无需使用ESC字符 ( 0x1B
) 即可执行,可以轻松自动化并且不需要更多时间来执行。