4

我正在使用 Erlang 来驱动机器人。

我正在读取 C 程序中的传感器值,并希望将这些传感器值(多个传感器值)发送到 Erlang 程序 ,在那里我可以执行计算和控制机器人。在 Erlang 书中给出的程序中,我们可以发送多个参数,但我们只能返回一个参数作为结果。 用于将 X 和 Y 发送到 C 程序:

Port ! {self(), {command, [50,X,Y]}}

结果:

{Port,{data, Data}} ->

我们只有一个参数 Data(buff[0])。

有没有办法在 Erlang 程序中接收多个参数,如 buff[0]、buff[1]、buff[2]..等等。 请建议我实现这一目标的一些方法......

4

3 回答 3

4

只需构造并返回一个 3 的元组,然后返回它的二进制文件并直接在答案中进行模式匹配。您可以使用 ei 模块构造元组和列表。请参阅http://www.erlang.org/doc/apps/erl_interface/index.html(模块 ei)了解如何执行此操作并查看http://www.erlang.org/doc/apps/erl_interface/users_guide。 html用于用户指南。

于 2010-08-03T09:03:32.767 回答
0

例如,检查您的 C 文件并发送回一个二进制文件,

你使用什么样的驱动程序?

于 2010-08-03T01:05:19.430 回答
0

您可以使用 ei_decode_X 其中 X 是您希望解码值成为的值的类型。理想情况下,从 erlang 发送它时,您应该执行 term_to_binary 然后传输它。

于 2016-04-24T00:35:49.287 回答