您必须重组程序中的流,以便从发送AT命令行开始,然后回读 并解析
从调制解调器返回的每个响应行,直到获得最终结果代码。有关总体概述,请参见此答案。
首先,要全面了解AT命令,请阅读V.250规范。这将使您成为AT指令专家将大有帮助。
然后对于实际的实现,我不知道presys,因此以下是处理AT命令应具有的结构的伪代码:
the_modem = openPort();...// start sending ATE0writePort(the_modem, "ATE0r");do { line = readLinePort(the_modem);} while (! is_final_result_pre(line))// Sending of ATE0 command finished (successfully or not)...closePort(the_modem);
不管你做什么,永远,永远使用delay,sleep或作为等待最后的结果代码的替代品相似。你可以看一下代码为atinout针对的一个例子
is_final_result_pre功能(也可以比较
isFinalResponseError,并
isFinalResponseSuccess在ST-Ericsson的U300 RIL,但请注意,
CONNECT不是最终结果代码,它是一个中间结果码,故得名isFinalResponseSuccess是并非100%正确)。
正确地解析AT命令响应并不那么复杂,以atinout的源代码为例。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)