DCS/ruiyiweiUX/Assets/Scripts/Tool/SerialPortSender.cs

88 lines
2.3 KiB
C#
Raw Permalink Normal View History

2026-06-09 13:59:11 +08:00
// using System;
// using System.IO.Ports;
// using GeneralTools;
// using UnityEngine;
// public class SerialPortSender : MonoBehaviour
// {
// public static SerialPortSender Instance { get; private set; }
// private SerialPort serialPort;
// // 端口号根据你的实际设备设置(如 "COM3"
// string portName = "COM1";
// int baudRate = 9600;
// void Awake()
// {
// Instance = this;
// portName = ConfigHelper.PortName;
// baudRate = ConfigHelper.BaudRate;
// OpenSerialPort();
// }
// void OnApplicationQuit()
// {
// CloseSerialPort();
// }
// public void OpenSerialPort()
// {
// try
// {
// serialPort = new SerialPort(portName, baudRate, Parity.None, 8, StopBits.One);
// serialPort.Open();
// serialPort.ReadTimeout = 1000;
// serialPort.WriteTimeout = 1000;
// Debug.Log("串口打开成功");
// }
// catch (Exception e)
// {
// Debug.LogError("串口打开失败: " + e.Message);
// }
// }
// public void CloseSerialPort()
// {
// if (serialPort != null && serialPort.IsOpen)
// {
// serialPort.Close();
// Debug.Log("串口关闭");
// }
// }
// /// <summary>
// /// 发送十六进制命令,例如 "FF 01 02"
// /// </summary>
// public void SendHexCommand(string hexCommand)
// {
// if (serialPort == null || !serialPort.IsOpen)
// {
// Debug.LogWarning("串口未打开!");
// return;
// }
// try
// {
// byte[] buffer = HexStringToBytes(hexCommand);
// serialPort.Write(buffer, 0, buffer.Length);
// Debug.Log("发送指令: " + hexCommand);
// }
// catch (Exception ex)
// {
// Debug.LogError("发送失败: " + ex.Message);
// }
// }
// private byte[] HexStringToBytes(string hex)
// {
// string[] hexValues = hex.Trim().Split(' ');
// byte[] bytes = new byte[hexValues.Length];
// for (int i = 0; i < hexValues.Length; i++)
// {
// bytes[i] = Convert.ToByte(hexValues[i], 16);
// }
// return bytes;
// }
// }