5

我想用 erlang 和我的调制解调器交谈。它安装为 /dev/ttyUSB 并且完全理解 AT 命令。

  • 我可以使用标准文件模块从设备读取和写入吗?

  • 波特率、字节大小、奇偶校验、RTS/CTS、DSR/DTR 等怎么样?

  • 你有任何使用 tonyg-erlang-serial-1.0 的经验吗?(我不太相信这个包,正如它在自述文件中所说的那样:“这是一个用于串行通信的带有 erlang 驱动程序的端口程序,最初由 Johan Bevemyr 于 1996 年编写,并从 2007 年开始由 Tony Garnock-Jones 偶尔维护。”

  • erlang 中串行 I/O 的常见做法是什么?

4

3 回答 3

5

从 github.com/systra/erlang-serial 获取带有 rebar 支持的 erlang-serial。这是一个简单的使用示例:

Serial = serial:start([{speed,38400},{open,"/dev/ttya"}]),
Serial ! {send, <<"test">>},
receive
    {data,FromOtherSide} ->
        doStuff(FromOtherSide);
    Other ->
        Other
end.
于 2013-10-11T21:07:35.877 回答
0

如果您询问写入设备文件,那么您无法使用 erlang 中的可用文件模块来执行此操作。

您必须打开一个端口并执行您的 c/C++ 代码。

检查是否有帮助。

于 2011-08-08T16:05:23.833 回答
0

所以显然没有erlang的串行通信库。我现在不得不再次挖掘 python,使用 pyserial,从 erlang 生成 python 线程并通过标准输入进行通信。

如果有人知道更好,请证明我错了。我很想拥有 erlang 本机串行 I/O。

于 2011-08-10T04:07:10.670 回答