我在向COM5上连接的3G调制解调器发送命令时遇到问题。 调制解调器正在接受连接并接收命令。 但是有一些问题(我认为这是我的语法/ AT命令)。 在超级终端中,命令返回错误。 如果有人可以提供帮助,我很乐意欣赏它。
-------以下代码-------
<?
exec("mode COM5 BAUD=9600 PARITY=N data=8 stop=1 xon=off");
$fp = fopen ("\\.\COM5:", "r+");
//$fp = dio_open('COM5:', O_RDWR | O_NOCTTY | O_NONBLOCK);
if (!$fp)
{
echo "Uh-oh. Port not opened.";
}
else
{
$string = "AT+CMGF=1";
$string = $string."OK";
$string = $string."AT+CMGS='+27824139864'";
$string = $string."> Hello World?<Ctrl>+<Z>";
$string = $string."+CMGS: 44";
$string = $string."OK";
fputs ($fp, $string );
echo $string."\n";
fclose ($fp);
}
?>
答案 0 :(得分:3)
您需要将\ r附加到每个命令的末尾而不是“确定”。 “确定”是您希望手机返回的响应。 使用终端程序
1 second delay
+++
1 second delay
The modem should respond with "OK"
Type AT+CMGF=1
press enter key
Modem will repond with "OK"
...等 您的手机可能不支持仅短信模式pdu模式
输入+ CMGF =?
输入回车键,如果响应位于+ CMGF(0,1),则它同时支持if(0)和pdu。您必须在pdu模式下输入短信 有很多关于如何做到这一点的例子。
答案 1 :(得分:0)
您需要将\ r附加到每个命令的末尾而不是“确定”。 “确定”是您希望手机返回的响应。使用终端程序
延迟1秒 +++ 1秒延迟 调制解调器应以“OK”响应 输入AT + CMGF = 1 按回车键 调制解调器将以“确定”的方式响应
等等......您的手机可能不支持仅短信文本模式pdu模式
输入+ CMGF =?
输入回车键,如果响应位于+ CMGF(0,1),则它同时支持if(0)和pdu。您必须在pdu模式下输入SMS消息。 有很多关于如何做到这一点的例子。
CAN U给我代码