diff --git a/CocktailWeb/Pages/Index.razor b/CocktailWeb/Pages/Index.razor index cf453b0..ec014de 100644 --- a/CocktailWeb/Pages/Index.razor +++ b/CocktailWeb/Pages/Index.razor @@ -1,5 +1,4 @@ @page "/" -@using System.IO.Ports Index @@ -7,47 +6,7 @@ Welcome to your new app. - - - -

- -

- - @code { - SerialPort? port; - string? portname = "COM5"; - string? receivedText; - public async Task SendData() - { - if (port == null && portname != null) - { - port = new SerialPort(portname); - port.BaudRate = 9600; - port.DataReceived += port_DataReceived; - port.DataBits = 8; - port.StopBits = StopBits.One; - port.Parity = Parity.None; - port.Handshake = Handshake.None; - port.RtsEnable = true; - - } - if (port == null || port.IsOpen) return; // Port konnte nicht initialisiert werden oder ist bereits geöffnet - dann nicht nochmal öffnen - port.Open(); - port.WriteLine(""); - - } - - private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) - { - if (port != null) - { - var text = port.ReadExisting(); - receivedText = text; - port.Close(); - } - } } diff --git a/CocktailWeb/Pages/SerialTest.razor b/CocktailWeb/Pages/SerialTest.razor new file mode 100644 index 0000000..cc1be44 --- /dev/null +++ b/CocktailWeb/Pages/SerialTest.razor @@ -0,0 +1,71 @@ +@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; + } +} diff --git a/CocktailWeb/Shared/TopRow.razor b/CocktailWeb/Shared/TopRow.razor index 7d77838..3e19ce8 100644 --- a/CocktailWeb/Shared/TopRow.razor +++ b/CocktailWeb/Shared/TopRow.razor @@ -15,6 +15,7 @@