Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Template SerialPort
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

Themenstarter:

Template SerialPort

beantworten | zitieren | melden

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>
Attachments
private Nachricht | Beiträge des Benutzers
dutzend
myCSharp.de - Member



Dabei seit:
Beiträge: 1

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
csMatt
myCSharp.de - Member



Dabei seit:
Beiträge: 48

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

Themenstarter:

beantworten | zitieren | melden

New Version added.
private Nachricht | Beiträge des Benutzers
markus111
myCSharp.de - Member

Avatar #avatar-3108.png


Dabei seit:
Beiträge: 520
Herkunft: Henstedt-Ulzburg

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von markus111 am .
private Nachricht | Beiträge des Benutzers
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
markus111
myCSharp.de - Member

Avatar #avatar-3108.png


Dabei seit:
Beiträge: 520
Herkunft: Henstedt-Ulzburg

beantworten | zitieren | melden

Hallo,

ich glaub schon.

mfg.
markus111
private Nachricht | Beiträge des Benutzers
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

Themenstarter:

beantworten | zitieren | melden

Da ich grad wieder mit der seriellen SS arbeite, hat sich ein Update angeboten.
Neue Version oben hinzugefügt.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Joetempes am .
private Nachricht | Beiträge des Benutzers
all-finder
myCSharp.de - Member



Dabei seit:
Beiträge: 30

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
all-finder
myCSharp.de - Member



Dabei seit:
Beiträge: 30

beantworten | zitieren | melden

gibt es eine Möglichkeit dies abzubrechen? Nach dem "Neuerstellen" bzw. bei Neustart der Applikation gibt es ja keine Probleme...
private Nachricht | Beiträge des Benutzers
ujr
myCSharp.de - Experte



Dabei seit:
Beiträge: 1770

beantworten | zitieren | melden

Hallo,
Zitat von Joetempes
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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ujr am .
private Nachricht | Beiträge des Benutzers