@page "/serialtest" @using System.IO.Ports Serial Test

@code { SerialPort? port; string? portname = "COM5"; string? receivedText; string? inputdata ="LED"; bool status = false; bool Sending = false; bool Receiving = false; public async Task SendData() { if (Sending) return; // nichts senden, wenn bereits am Senden Sending = true; if (port == null && portname != null) { port = new SerialPort(portname); port.BaudRate = 115200; //9600 port.DataReceived += port_DataReceived; //port.DataBits = 8; //port.StopBits = StopBits.One; //port.Parity = Parity.None; //port.Handshake = Handshake.None; //port.RtsEnable = true; port.Open(); } if (port == null || !port.IsOpen) return; // Port konnte nicht initialisiert werden oder ist bereits geöffnet - dann nicht nochmal öffnen // port.Write($""); port.Write($"<{inputdata}> "); status = !status; Sending = false; // inputdata = null; } private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) { if (Receiving) return; Receiving = true; SerialPort port = (SerialPort)sender; if (port != null) { var text = port.ReadExisting(); Console.WriteLine(text); receivedText = text; InvokeAsync(StateHasChanged); // port.Close(); } Receiving = false; } }