Laden...

Template SerialPort

Letzter Beitrag vor 13 Jahren 13 Posts 33.694 Views
Template SerialPort

Template SerialPort

Nach 1567 Downloads habe ich mich entschlossen das Template nochmals zu überarbeiten. Hier ist die neue Version:

Im angehängten Archive befindet sich eine komplette VS-2008 Solution, ein Template für den ab .NET 2.0 verfügbaren SerialPort.

Beinhaltet:

  • Konfigurationsdialog für UART-Einstellungen
  • Speicherung als XML der letzten UART-Einstellungen (Serialisiert)
  • Daten an die serielle SS senden
  • Daten empfangen & auf GUI ausgeben
  • Übersichtliche & einfache Strukturen, sauber programmiert, Quellcode kommentiert

Mit diesem Template sind alle Standardfragen zum SerialPort beantwortet. Hab Ihr euer Gerät angeschlossen, die UART's ausgewählt, so könnt Ihr sofort starten. Viel Spaß damit.

Schlagwörter: <Serialport, COM, RS232, serielle Schnittstelle, Uart>

Hallo,

wir planen eine Anwendung, mit der wir 6 serielle Schnittstellen überwachen müssen.
Eignet sich das Template für sowas?

Freundliche Grüße
René Tuchscherer

Das Template entstand aus einer Version herraus bei der zwei serielle SS verwendet wurden. Ich hab das hier auf eine abgespeckt. Willst Du es für sechs verwenden, müsstest Du die Inhalte der Klassen halt versechsfachen.
Mit dem Template hättest Du in jedem Fall ne ordentliche Grundstruktur.

Dein Template ist echt gut, hab es schon verwenden können im zusammenhang mit einem Evaluationboard.
super arbeit, ich weis nicht wie lange ich ohne deinem Template noch gebraucht hätte.
Ich hatte einige Probleme damit.

New Version added.

Hallo Joetempes,

mir ist noch ein kleiner Bug aufgefallen: Am Anfang werden falsche COM-Ports angezeigt (z.B. COM3c). Vielleicht hilft das: [Snippet] Bessere Methode als SerialPort.GetPortNames()

mfg.
markus111

[Follow me on Twitter](http://twitter.com/blendingsky)

Hallo markus111,

vielen Dank für den Tip, aber das Problem hatte ich noch nie.
Bei mir funktioniert die GetPortNames-Methode immer ohne Probleme.

Soll das ein Bug im Framework sein?

Grüße

Hallo,

ich glaub schon.

mfg.
markus111

[Follow me on Twitter](http://twitter.com/blendingsky)

Da ich grad wieder mit der seriellen SS arbeite, hat sich ein Update angeboten.
Neue Version oben hinzugefügt.

Folgende Frage wegen der Freigabe der Ressourcen:
an this.serialPort.Close(); hängt das Programm recht lang. Was kann man dagegen machen?

PS: bekomme durchgehend Daten (6byte alle 2-4ms)

Hallo all-finder,

das hört sich eher an als wenn das ein Problem Deiner Hardware ist.
Der Serialport bringt leider kein Timeout bei Close() mit.

Grüße

gibt es eine Möglichkeit dies abzubrechen? Nach dem "Neuerstellen" bzw. bei Neustart der Applikation gibt es ja keine Probleme...

Hallo,

Soll das ein Bug im Framework sein?

Möglicherweise. Vielleicht aber auch ein Fehler beim Installieren von Bluetooth-Treibern.

Nachdem ich kürzlich das Problem bei einem Kollegen festgestellt hatte, habe ich mal ein bisschen recherchiert. Es gibt Problembeschreibungen und -umgehungen unter System.IO.Ports.SerialPort.GetPortNames error with BlueTooth

Am sichersten scheint mir der Umweg über die Win32-API. Zu einer richtigen Korrektur scheint sich Microsoft ja nicht durchringen zu können.

Edit: Anscheinend mit .Net4 behoben.