Hallo Zusammen, nach einem Empfang serieller Daten möchte ich einen Timer starten: Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived RecBuffer = SerialPort1.ReadExisting() Timer2.Interval = 10 Timer2.Enabled = True End Sub Ich würde erwarten, dass nach 10 ms die folgende Prozedur anspringt, was sie aber nicht macht; das System ist schlicht bereit für die nächste Aufgabe; z.B. erneut Daten zu empfangen. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick Timer2.Enabled = False Debug.Print("t2") End Sub Hat jemand einen Vorschlag für eine Problemlösung ? Mit Dank Franz-Juergen
seufZ Ich bin von der Menge der Informationen erschlagen... :) Welcher Timer? System.Timers? System.WindowsForms? Ich tippe mal drauf, dass mit Timer.Enabled nur festgelegt wird, dass die Ticks ein Event auslösen, starten musst du ihn mit Timer.Start(). Ralf
das SerialPort1_DataReceived Event kommt in einem anderen Thread. Innerhalb dieses Events kannst du z.B. deine empfangenen Daten nicht in eine Textbox schreiben. Ich vermute mal, das dein Timer.Tick Event dann auch in einem anderen Thread läuft. Übrigens, 10ms für einen Windows Timer sind schon recht kurz, die hält er nicht stabil. mfg Thomas
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.