Hallo Leute, ich sende vier Werte über mein NUCLEOf411RE an meinen rechner. Mit putty kann ich am virtuellen COM Port COM98 diese auslesen (siehe screenshot). Programmiert habe ich das ganze in C. Nun will ich Visual Studio eine Winforms Anwendung programmieren. Das ganze soll in c# realisiert werden. nach mehreren veruschen habe ich es noch nicht hinbekommen diese Daten auszulesen und in einer Textbox wieder zu geben. Ich habe eine try catch Bedingung eingebaut und beim start bringt er sofort eine exception. Ich bin neu in c# und habe nur wenig Erfahrung damit. Am liebsten wäre es mir wenn er die Werte nicht nur einmal schreibt sondern die ganze zeit in der Textbox aktualisiert. So sieht bis jetzt mein code aus. Die Serielle Schnittstelle hab ich im Form1.cs hinzugefügt und eingestellt. private void button1_Click(object sender, EventArgs e) { try { serial.Open(); string oldvalue = null; string A = serial.ReadExisting(); if (A != oldvalue) { if (!string.IsNullOrEmpty(A) && A.StartsWith("BT")) { textBox1.AppendText(A); } } } catch { MessageBox.Show("COMPORT ist geschlossen"); } } Würde mich über hilfe freuen. Gruß
:
Bearbeitet durch User
Walt N. schrieb: > Programmiert habe ich das ganze in C. Nun will ich Visual Basics eine > Winforms Anwendung programmieren. Das ganze soll in c# realisiert > werden. Was jetzt? c? c#? vb?
c#! Auf dem MC hab ich mit c programmiert. Ich meine Visual Studio und nicht Visual Basics sorry.
:
Bearbeitet durch User
warum nicht mit lcc32? da wäre dein C und win kein Problem http://www.bei-ekke.de/htmltidy/mfischer/lcc32-index.html
Hi, geb uns doch bitte ein paar Infos mehr. Walt N. schrieb: > Ich habe eine try > catch Bedingung eingebaut und beim start bringt er sofort eine > exception Die da wäre? Die Exception sagt dir doch eigentlich bereits was das Problem ist.
System.UnauthorizedAccessException HResult=0x80070005 Nachricht = Access to the port 'COM98' is denied.
So... jetzt musst du doch eigentlich nur noch das Wort "UnauthorizedAccessException" zusammen mit "COM port" bei Google einsetzen und schon bekommst du seitenweise Lösungshinweise. Erster Tipp: Jemand anderes (Putty??) hat die besagte Schnittstelle schon geöffnet.
oder das alte Problemchen mit Com Portnamen >COM9? https://support.microsoft.com/de-de/help/115831/howto-specify-serial-ports-larger-than-com9
Johannes S. schrieb: > oder das alte Problemchen mit Com Portnamen >COM9? > https://support.microsoft.com/de-de/help/115831/howto-specify-serial-ports-larger-than-com9 Öhm, nein. Das ist ein altes C Problem. Das existiert so nicht in C#
dasd: > Erster Tipp: Jemand anderes (Putty??) hat die besagte Schnittstelle > schon geöffnet. genau. Und dann solltest Du darauf achten, den Port nach Nutzung wieder zu schliessen, denn Du versuchst ihn ja bei jedem "buttom1_Click" wieder zu öffnen. also: - testen, ob Port schon geöffnet - ja: versuchen, den Port zu schliessen, Fehler: Meldung, Routine verlassen ... mfg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.