2012-06-05 18 views
0

對於我的項目,我有兩個伺服器,每次程序循環時我需要將它們設置爲正確的角度。爲了做到這一點,我使用串行USB連接併發送一個數字來設置其中一個舵機。但對於第二臺伺服系統,我需要在一條消息中傳遞兩個數字。我正在考慮一個字符串「X,Y」,我可以發送它並將它在arduino上的逗號之間進行分割,但似乎我只能通過串口發送數字和只有1個數字?我將如何去做這件事。Arduino通過串口傳遞多個參數

Serial.write("90,90");//does not work... 
+0

您發佈的代碼'Serial.write(「90,90」); //無法正常工作...'是在PC上發送命令還是在'arduino'上?我只問,因爲根據你的問題,你正在向arduino發送值。你能發佈你用來發送命令的代碼嗎?發佈你用來接收它們的代碼也會有所幫助。 – cstrutton

回答

0

你可以這樣做:

Serial.write(90); 
Serial.write(90); 

或者:

byte buf[] = {90, 90}; 
Serial.write(buf, sizeof buf); 
+0

好的,我如何在逗號之間分割字符串並解析整數?基本上我想在Java中相當於此:String s = Serial.read(); int x = Integer.parseInt(s.split(「,」)[0]); int y = Integer.parseInt(s.split(「,」)[1]); –

1

According to the documentation,一個調用,如Serial.write("90,90");應該工作,並會導致被髮送給定的字符串。沒有提及逗號具有單獨的含義。

您應該檢查返回值。