SerialPortTest.cs 955 B

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Collections.Generic;
  3. using TMPro;
  4. using Unity.VisualScripting;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. public class SerialPortTest : MonoBehaviour
  8. {
  9. public Button SendButton;
  10. public TMP_InputField InputField;
  11. private ArrowSerialPort targetPort;
  12. private void Awake()
  13. {
  14. InputField.text = string.Empty;
  15. SendButton.onClick.AddListener(OnSendPortData);
  16. DontDestroyOnLoad(this);
  17. targetPort = GameObject.FindObjectOfType<ArrowSerialPort>();
  18. }
  19. private void OnSendPortData()
  20. {
  21. var msg = InputField.text;
  22. var datasStr = msg.ToCharArray();
  23. List<byte> data = new List<byte>();
  24. for (int i = 0; i < datasStr.Length; i += 5)
  25. {
  26. var dataStr = $"{datasStr[i]}{datasStr[i + 1]}{datasStr[i + 2]}{datasStr[i + 3]}";
  27. data.Add(Convert.ToByte(dataStr, 16));
  28. }
  29. targetPort.TestRead(data.ToArray());
  30. }
  31. }