www.mikrocontroller.net

Forum: PC-Programmierung VB 2008 - Timer startet nicht nach serial receiving


Autor: Franz-juergen Esser (franz-juergen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.