2010-08-02 53 views
4

我使用Erlang駕駛機器人。如何從C程序接收Erlang程序中的多個值?

我是讀取C程序中的傳感器值,並希望將這些傳感器值(多個傳感器值)發送到Erlang程序,在那裏我可以執行計算和控制機器人。 在Erlang書中給出的程序中,我們可以發送多個參數,但是我們只返回一個參數作爲結果。 用於發送X和Y到C程序:

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

在結果:

{Port,{data, Data}} -> 

我們得到了只有一個參數數據(拋光輪[0])。

有沒有什麼辦法可以像在buff [0],buff [1],buff [2]等等Erlang程序中接收多個參數。 請建議我實現這一目標的一些方法...

+0

Erlang會返回一個對象嗎?如果會,創建一個包含必要數據點的複合對象並返回。 – 2010-08-02 16:41:17

+0

爲什麼這個標記的社區wiki? – sepp2k 2010-08-02 17:35:13

回答

0

檢查出你的C文件,併發送回一個二進制例如

什麼樣的驅動程序您使用的是?

+0

我曾嘗試使用C端口和端口驅動程序(鏈接在驅動程序中)。 – Dinesh 2010-08-03 09:04:37

1

您可以使用ei_decode_X其中X是您希望解碼值的值的類型。理想情況下,從erlang發送它時,應該先做一個term_to_binary然後傳輸它。