SPUPProgramming.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System;
  5. public class SPUPProgramming : MonoBehaviour
  6. {
  7. //SPUP
  8. private SerialPortUtility.SerialPortUtilityPro serialPort = null;
  9. //Config
  10. public KeyCode SendKeyCode = KeyCode.Alpha1;
  11. public KeyCode SendKeyCode2 = KeyCode.Alpha2;
  12. // Use this for initialization
  13. void Awake()
  14. {
  15. //Because processing of plugin carries out by start, it is necessary to generate by Awake.
  16. //serialPort = new SerialPortUtility.SerialPortUtilityPro(); //do not use
  17. serialPort = this.gameObject.AddComponent<SerialPortUtility.SerialPortUtilityPro>();
  18. //config
  19. serialPort.OpenMethod = SerialPortUtility.SerialPortUtilityPro.OpenSystem.USB;
  20. serialPort.VendorID = "";
  21. serialPort.ProductID = "";
  22. serialPort.SerialNumber = "";
  23. serialPort.BaudRate = 115200; //115200kbps
  24. serialPort.ReadProtocol = SerialPortUtility.SerialPortUtilityPro.MethodSystem.Streaming;
  25. serialPort.ReadCompleteEventObject.AddListener(this.ReadComprateString); //read function
  26. serialPort.RecvDiscardNull = true;
  27. serialPort.Open();
  28. }
  29. void OnDestory()
  30. {
  31. if (serialPort != null)
  32. serialPort.Close();
  33. }
  34. // Update is called once per frame
  35. void Update ()
  36. {
  37. if (serialPort != null)
  38. {
  39. if (serialPort.IsOpened())
  40. {
  41. if (Input.GetKeyDown(SendKeyCode))
  42. {
  43. byte[] d = System.Text.Encoding.ASCII.GetBytes("test\0\0byte\0\0test");
  44. serialPort.Write(d);
  45. }
  46. if (Input.GetKeyDown(SendKeyCode2))
  47. {
  48. serialPort.Write("string data");
  49. }
  50. }
  51. }
  52. }
  53. //for
  54. public void ReadComprateString(object data)
  55. {
  56. var text = data as string;
  57. Debug.Log(text);
  58. }
  59. }