我有一个gsm-modem和plc,plc看到一个调制解调器(我使用* .lib和功能块“openPort”),但我不明白如何在调制解调器中写入“at命令”,例如“ate0” . 首先,为了增加您对AT命令的理解,请阅读V. 2
然后对于实际的实现,我不知道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);
无论你做什么,永远不要使用延迟,睡眠或类似代替等待最终结果代码.您可以查看atinout的代码作为is_final_result_code函数的示例(您还可以在ST-Ericsson’s U300 RIL中与isFinalResponseError和isFinalResponseSuccess进行比较,但请注意CONNECT不是最终结果代码,它是中间结果代码,因此名称isFinalResponseSuccess是不是100%正确).