Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Arduino到Unity的USB通信:超时错误_C#_Macos_Unity3d_Arduino_Usb - Fatal编程技术网

C# 从Arduino到Unity的USB通信:超时错误

C# 从Arduino到Unity的USB通信:超时错误,c#,macos,unity3d,arduino,usb,C#,Macos,Unity3d,Arduino,Usb,我试图在Arduino和Unity 3D之间建立尽可能简单的USB通信:从Arduino发送几个字节,然后从Unity读取 我正在使用一个旧的MBP,Unity 4.6.6,以及一个Arduino Uno和Arduino 1.0.6 Arduino: void setup() { Serial.begin(9600); } void loop() { int val=45; Serial.write(val); delay(10); } using UnityEn

我试图在Arduino和Unity 3D之间建立尽可能简单的USB通信:从Arduino发送几个字节,然后从Unity读取

我正在使用一个旧的MBP,Unity 4.6.6,以及一个Arduino Uno和Arduino 1.0.6

Arduino:

void setup() {

  Serial.begin(9600);

}

void loop() {

 int val=45;
  Serial.write(val);
  delay(10);   

}
using UnityEngine;
using System.Collections;
using System.IO.Ports;

public class ardCom : MonoBehaviour {


    SerialPort stream = new SerialPort("/dev/tty.usbmodem621",9600);

    // Use this for initialization
    void Start () {

        stream.Open ();

    }

    // Update is called once per frame
    void Update () {

        int value = stream.ReadByte ();
        Debug.Log (value);

    }

    void OnApplicationQuit() 

    {
        stream.Close();
    }

}
统一:

void setup() {

  Serial.begin(9600);

}

void loop() {

 int val=45;
  Serial.write(val);
  delay(10);   

}
using UnityEngine;
using System.Collections;
using System.IO.Ports;

public class ardCom : MonoBehaviour {


    SerialPort stream = new SerialPort("/dev/tty.usbmodem621",9600);

    // Use this for initialization
    void Start () {

        stream.Open ();

    }

    // Update is called once per frame
    void Update () {

        int value = stream.ReadByte ();
        Debug.Log (value);

    }

    void OnApplicationQuit() 

    {
        stream.Close();
    }

}
但是……Unity不断抛出超时错误:

TimeoutException:操作已超时。 System.IO.Ports.SerialPortStream.Read(System.Byte[]缓冲区,Int32 偏移量,Int32计数)System.IO.Ports.SerialPort.read_字节() System.IO.Ports.SerialPort.ReadByte()(包装器 远程调用检查)System.IO.Ports.SerialPort:ReadByte() Update()(位于Assets/ardCom.cs:20)

奇怪的是,我能够以另一种方式进行沟通,从Unity到Arduino——你们的老Blinky LED教程很好用

我尝试了我能想到的每一种代码排列,改变波特率、延迟时间、对Arduino和Unity代码的串行写入和读取调用,并在网络上寻找解决方案。不走运