1

我试过这个:

echo -e "ATD123456789;\r" > /dev/smd0

然后当我跑的时候:

cat /dev/smd0

我得到了这个输出:

ATD123456789;

那是我应该看到的吗?手机没有响应命令。

更新:当我使用 smd7 或 smd11 时,手机拨打了电话。问题是我正在尝试使用 AT+CMGS 发送 SMS 消息,但它不起作用。

Update2:我运行这个命令:cat /dev/smd7 & echo -e "AT+CMGS=24;\r" > /dev/smd7. 然后我输入 PDU 消息,我得到了这个:/system/bin/sh: 079...771B: not found

4

1 回答 1

1

你可能知道,命令

ATD<number>;\r

对目标号码执行语音呼叫<number>(没有分号;,呼叫类型将取决于AT+FCLASS命令的当前设置)。

默认情况下,OK只要它开始远程响铃,就会收到结果代码,所以在几秒钟后。但是如果有网络问题或远程号码不可用/不存在,则需要更多。

语音通话中命令的默认超时时间ATD为 30 秒,可通过ATS7命令更改。例如,设置 1 分钟超时:

ATS7=60

您得到的答案是命令 echo:实际上,调制解调器默认情况下会回显发送到其 AT 端口的每个字符(可以通过ATE0命令禁用回显并使用 再次启用ATE1)。收到它**是调制解调器正确打开电源并且通信正确的证明。

因此,即使我知道这不是您希望看到的唯一内容(您希望看到答案!)您实际上应该看到它。


为了得到你的答案,一些建议:

  1. 开始提供更简单的命令和更短的超时。例如非常基本的AT.
  2. 确保至少等待最大命令超时
  3. 在后台和开始提供命令之前设置cat命令:
    cat /dev/smd0 &

    echo -e "AT\r" > /dev/smd0
    OK

注意:我不知道cat命令中有任何超时。

于 2020-06-16T21:27:03.513 回答