【发布时间】:2010-07-01 01:26:54
【问题描述】:
我有一个连接到 linux 主机的串行设备。主机需要能够处理标准 AT 命令。
我需要为串行设备包含标准的 AT '+++' 转义序列..
我没有多少运气找到代码。任何人都知道任何开源库或代码,我可以看看实际的实现吗?
【问题讨论】:
标签: escaping serial-port modem at-command
我有一个连接到 linux 主机的串行设备。主机需要能够处理标准 AT 命令。
我需要为串行设备包含标准的 AT '+++' 转义序列..
我没有多少运气找到代码。任何人都知道任何开源库或代码,我可以看看实际的实现吗?
【问题讨论】:
标签: escaping serial-port modem at-command
看看 linux mppp 库。它是点对点协议的调制解调器拨号器,使用 Hayes AT 命令集。源代码应该让您了解这些命令是如何处理和实现的。
事实上,您或许可以自定义 mppp 以满足您的应用程序需求。
【讨论】:
/dev 中应该有一个用于调制解调器端口的项目(自从我使用 unix 以来,我已经有一段时间了,所以请原谅我缺乏细节)。您可以像打开文件一样打开它。写给它。 +++ 的诀窍是,如果您已连接,则在它之前和之后必须有 1+ 秒的暂停 - 这就是调制解调器知道您不只是想将 +++ 发送到远程端的方式。它会将您从“发送数据模式”踢到“AT 命令模式”。
但调制解调器在您拨号时以命令模式启动。
http://en.wikipedia.org/wiki/Hayes_command_set
如果您觉得这太低级,可能有预定义函数库来处理拨号、失败时重拨等。但这就是我必须使用的全部内容 - 很久以前,当我上次为调制解调器编程时!
【讨论】: