2017开工大吉(虽然已经上了好几天班了嘿嘿)
话不多说进入正文,去年总是发文到微博也没几个人看,想来还是CSDN比较专业(老司机云集)。以后就在此混迹了,还望各位大佬多多提携
需求:
先说下用它来干嘛吧,众所周知2016年是VR的元年,头盔各种型号各种配置像当初的智能手机一样如雨后春笋一样出世。当然我不是做头盔硬件,也不是做VR爱啪啪的,我主要是做VR大型交互体验设备的,类似于几年前网吧的大型游戏机(赛车游戏,射击游戏居多)。用于各种蓝牙转串口,USB转串口或是直连的串口等等。我用的设备是HTC VIVE ,带了手柄交互更加畅快,我们的宗旨也是真实交互。
怎么查看自己电脑的端口呢?右键我的电脑—设备管理器—找到端口(COM和LPT)选项点开
像这样就是啦,中间那个COM10就是HTC VIVE头盔的COM端口,电脑上其实有好多被占用的端口这里就不细说了。
再介绍一款可以测试端口数据应用:UartAssist
这个小软件可以轻松的测试端口数据,打开之后选择好端口号就好了,这里就不详细介绍了。
下面附上数据处理代码,是USB转串口的,比较平稳。关键位置都有注释的,这里是开的协程接收数据,也可以用线程,也可以放到Update里面直接接收,优缺点还没有具体分析,有大牛大佬大大们看到了还请帮我分析下告诉我。这里的传输数据是比较简单的,功能只是实现了两个按钮的交互,数据一次只有四位,第三位的数据代表了按钮的按下状态,第四位是前三位数据的奇偶校验。
using UnityEngine;
using System.Collections;
using System;
using System.Threading;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO.Ports;
using System.Text.RegularExpressions;
using System.Text;
public class USBtoSerialPortDeal : MonoBehaviour {
[NonSeria