直接用即可,接收到信号会卡顿一下 放在线程中即可。
波特率 ,看一下你的硬件中的设置
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();
}