0

我有一个 GSM 调制解调器和一个 PLC。PLC 看到调制解调器(我使用 *.lib 和功能块“openPort”),但我不明白如何向调制解调器发送“AT 命令”,例如“ate0”。

4

1 回答 1

0

首先,为了增加您对 AT 命令的总体理解,请阅读 V.250规范。这将大大有助于您成为 AT 命令专家。

然后对于实际的实现,我不知道 Codesys,所以下面是处理 AT 命令应该具有的结构的伪代码:

the_modem = openPort();
...
// Start sending ATE0
writePort(the_modem, "ATE0\r");
do {
    line = readLinePort(the_modem);
} while (! is_final_result_code(line))
// Sending of ATE0 command finished (successfully or not)
...
closePort(the_modem);

无论您做什么,都不要,永远不要使用delaysleep或类似的方法来代替等待最终结果代码。您可以查看atinout的代码以获取该函数的示例is_final_result_code(您也可以isFinalResponseErrorST-Ericsson 的 U300 RILisFinalResponseSuccess进行比较,但请注意这不是最终结果代码。它是中间结果代码,因此名称 isFinalResponseSuccess 是不是 100% 正确)。CONNECT

于 2013-05-08T17:15:28.253 回答