Вы можете просто сериализовать его, использовать Json или создать свою собственную сериализацию:
string json = Newtonsoft.Json.JsonConvert.SerializeObject(your_object);
System.IO.Ports.SerialPort Port = new System.IO.Ports.SerialPort("COM1");
Port.BaudRate = 9600;
Port.Open();
Port.WriteTimeout = 4000;
Port.Write(json);
Если анализировать json на вашем устройстве (или на любом другом приемнике) сложно, вы можете создатьсериализация самостоятельно:
unsafe public struct usb_board
{
UInt16 scr_id;
UInt16 cmd_id;
uint type;
UInt16 size;
UInt16 crc;
uint[] buffer;
public override string ToString()
{
return $"{scr_id},{cmd_id},{type},{size},{crc},{string.Join(",", buffer)}";
}
}
затем вы можете использовать your_object.ToString()
, чтобы получить строку с разделителями-запятыми со всеми вашими значениями структуры, и вы можете отделить ее на своем устройстве.