Unity串口通讯
来源:互联网 发布:python的语法结构 编辑:程序博客网 时间:2024/06/05 15:49
通过System.IO.Ports来实现
using UnityEngine;
using System.Collections;
using System.IO.Ports;
using System;
using System.IO;
using System.Collections.Generic;
public class PortControl : MonoBehaviour
{
public string portName = “COM3”;
public int baudRate = 57600;
public Parity parity = Parity.None;
public int dataBits = 8;
public StopBits stopBits = StopBits.One;
SerialPort sp = null;
void Start() { OpenPort(); StartCoroutine(DataReceiveFunction()); } //打开串口 public void OpenPort() { sp = new SerialPort(portName, baudRate, parity, dataBits, stopBits); sp.ReadTimeout = 400; try { sp.Open(); } catch(Exception ex) { Debug.Log(ex.Message); } } //关闭串口 public void ClosePort() { try { sp.Close(); } catch(Exception ex) { Debug.Log(ex.Message); } } /* 若串口数据速度慢,数量小,可以在Update函数中使用sp.ReadByte等函数,该协程可以不用调用 若串口数据速度较快,数量较多,就调用该协程(该程序就是这一种,在Start函数中已经被调用) 若串口数据速度非常快,数量非常多,建议使用Thread */ IEnumerator DataReceiveFunction() { byte[] dataBytes = new byte[128];//存储数据 int bytesToRead = 0;//记录获取的数据长度 while(true) { if(sp != null && sp.IsOpen) { try { //通过read函数获取串口数据 bytesToRead = sp.Read(dataBytes, 0, dataBytes.Length); //串口数据已经被存入dataBytes中 //往下进行自己的<a href="https://www.baidu.com/s?wd=%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmWnLP1-huHTvrjPbmhcL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DLPHT1rjT3PjTknHRznWmsP0" target="_blank" class="baidu-highlight">数据处理</a> //比如将你的数据显示出来,可以利用guiText.text = ....之类 } catch(Exception ex) { Debug.Log(ex.Message); } } yield return new WaitForSeconds(Time.deltaTime); } } void OnApplicationQuit() { ClosePort (); }
}
1 0
- unity串口通讯总结
- Unity串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 串口通讯
- 通讯串口
- 串口通讯
- 串口通讯
- Python正则表达式
- 类的扩展, 延展
- Halcon模板匹配三
- 端口占用问题
- Unity两个手指放大图片的方法
- Unity串口通讯
- Delphi 执行控制台(console)程序获取返回结果
- 153,改变控件的位置,缩放大小与旋转角度
- 错误ERR_INCOMPLETE_CHUNKED_ENCODING解决方法
- MySQL中函数CONCAT及GROUP_CONCAT
- ETL AUTOMATION介绍
- linux简单易用的看门狗程序
- Unity中UGUI输入信息框
- LeetCode(131)Palindrome Partitioning