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
serielle schnittstelle auslesen mit timer
_matthi_
myCSharp.de - Member



Dabei seit:
Beiträge: 12

Themenstarter:

serielle schnittstelle auslesen mit timer

beantworten | zitieren | melden

hallo leute,

ich habe eine rfid-antenne, an die immer wieder rfid-tags gehalten werden. Die antenne ist mittels serieller schnittstelle am pc angeschlossen.
Das auslesen der Tags funktioniert soweit wunderbar (ich benoetige ohnehin lediglich die 16-stellige hex-id).

Folgendermassen gehe ich vor:


im Konstruktor:
SerialPort sp = new SerialPort(...);

button1click()
{
 sp.open();
 timer1.enabled = true;
}

timer1_tick()
{
 richtextbox.appendtext( sp.readline() );
}

das problem ist aber, dass die windows form sich komplett aufhaengt (ich kann da drinnen nichts mehr machen ab dem zeitpunkt wo ich button1 anklicke). Was fuer ansaetze gibt es, dass ich das mit dem timer in den griff bekomme? habs schon mit threads versucht, das fuehrte aber auch nicht zum ziel :(.

Viele gruesse und besten dank im voraus!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von _matthi_ am .
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

SerialPort.DataReceived

// EDIT: Du scheinst Probleme mit deiner Shift-Taste zu haben...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von markus111 am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo _matthi_,
Zitat
das problem ist aber, dass die windows form sich komplett aufhaengt (ich kann da drinnen nichts mehr machen ab dem zeitpunkt wo ich button1 anklicke.
ich gehe davon aus, dass SerialPort.ReadLine solange blockiert, bis eine komplette Zeile übertragen wurde. Siehe auch [FAQ] Warum blockiert mein GUI?

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

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

beantworten | zitieren | melden

Und generell zur seriellen SS hab ich auch noch einen Link:

Template SerialPort
private Nachricht | Beiträge des Benutzers
muntablues
myCSharp.de - Member



Dabei seit:
Beiträge: 231
Herkunft: AUT

beantworten | zitieren | melden

Warum nimmst du nicht das DataReceived Event, dann musst du gar nicht pollen. Das Event wird gefeuert sobald was an der Schittstelle ankommt...
______________________________
Gruß MB

Home of DigiJay - DJ-Freeware
private Nachricht | Beiträge des Benutzers
_matthi_
myCSharp.de - Member



Dabei seit:
Beiträge: 12

Themenstarter:

beantworten | zitieren | melden

Vielen Dank fuer eure Beitraege. Der Tipp mit DataReceived war genial und hat zum Ziel gefuehrt!
private Nachricht | Beiträge des Benutzers