Unity 读取串口数据

直接用即可,接收到信号会卡顿一下 放在线程中即可。

波特率 ,看一下你的硬件中的设置

com端口看一下你的设备管理中的串口即可。

{2018.10.22
今天收到qq“火星人”的问题。
发现文中少写了个重要的点,缺少 System.Management 动态库。下面贴出链接。
\Editor\Data\Mono\lib\mono\2.0\System.Management.dll
在这里插入图片描述
在你的unity安装路径下找到放在unity工程目录的Plugins即可。

放好后将.net改为2.0如下图所示

}

有问题加 QQ群 207019099 备注 “unity 读取串口数据”

  public string portname = "14";
    private int baudRate = 115200;

    SerialPort sp = null;

    private void Start()
    {

        foreach (var item in SerialPort.GetPortNames())
        {
            Debug.Log(item);
        }

        OpenPort();
        InvokeRepeating("GetNumOfData", 1, 1);
    }


    private void OpenPort()
    {
        sp = new SerialPort(@"\\.\COM" + portname, baudRate);
        sp.ReadTimeout = 400;
        try
        {
            sp.Open();
        }
        catch (System.Exception ex)
        {
            Debug.Log(ex.Message);
        }
    }


    private void ClosePort()
    {
        try
        {
            sp.Close();
        }
        catch (System.Exception ex)
        {
            Debug.Log(ex.Message);
        }
    }


    private void GetNumOfData()
    {
        if (sp != null && sp.IsOpen)
        {
            try
            {
             print(sp.ReadByte());
            }
            catch (System.Exception ex)
            {

                Debug.Log(ex.Message);
            }
        }
    }

    private void OnDisable()
    {
        print("OnDisable");
        ClosePort();
    }

猜你喜欢

转载自blog.csdn.net/gaofei12300/article/details/79787091
今日推荐