首先我自己写了一个串口类
PortControl`using UnityEngine;
using System.Collections;
using System.IO.Ports;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Text;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using LitJson;
using System.IO;
public class PortControl : MonoBehaviour
{
private static PortControl instance;
public static PortControl Instance
{
get { return instance; }
}
#region 定义串口属性
// public GUIText gui;
//public GUIText Test;
//定义基本信息
public string portName = "";//串口名
public int baudRate =0;//波特率
public Parity parity = Parity.None;//效验位
public int dataBits = 8;//数据位
public StopBits stopBits = StopBits.One;//停止位
SerialPort sp = null;
public bool canRecieveMsg = true;//是否能接收发来的信息
Thread dataReceiveThread;
//发送的消息
private string message = " ";
public List<byte> listReceive = new List<byte>();
char[] strchar = new char[100];//接收的字符信息转换为字符数组信息
string str;
private JsonData Setting;
public double DaiJiTime;
#endregion
void Awake()
{
OpenPort();
dataReceiveThread = new Thread(new ThreadStart(PortReceive));
dataReceiveThread.IsBackground = true;
dataReceiveThread.Start();
if (instance != null)
{
Destroy(gameObject);
return;
}
instance = this;
DontDestroyOnLoad(this.gameObject);
}
#region 创建串口,并打开串口
public void OpenPort()
{
//创建串口
if (sp == null)
{
Setting = JsonMapper.ToObject(File.ReadAllT