mikrocontroller.net

Forum: PC-Programmierung COM, DataReceived-Event und .Net


Autor: A.Bu. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
-  Visual Basic (Sharp Develop 2.0)
-  .NET Framework 2.0

Forlgender Code soll Binäre Daten über die COM-Schnitstelle lesen:

Private Dim WithEvents COM_Port As New System.IO.Ports.SerialPort

…
(Connect)

AddHandler Com_Port.DataReceived, AddressOf COM_Port_DataReceived
…

Private Sub COM_Port_DataReceived(sender As Object, e As 
System.IO.Ports.SerialDataReceivedEventArgs)

  dim x as Integer

  Do While COM_Port.BytesToRead > 0
    x = me.COM_Port.ReadByte() 'Dummy Read
  Loop

End Sub


Nach 2-3 Sekunden tritt plötzlich bei me.COM_Port.ReadByte() dieser 
Fehler auf:

Ausnahme System.IO.IOException wurde im ausgeführten Programm ausgelöst:
Der E/A-Vorgang wurde wegen eines Threadendes oder einer 
Anwendungsanforderung abgebrochen.
C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\Sy 
stem.Drawing.dll

WinIOError()
BeginReadCore()
ReadByte()
ReadByte()
ReadByte()
COM_Port_DataReceived() - C:\Eigene Dateien\SharpDevelop 
Projects\HC12_Debugger\BDM12.vb:227,5
CatchReceivedEvents()
CallReceiveEvents()
WaitCallback_Context()
runTryCode()
RunInternal()
Run()
PerformWaitCallback()

Was kann das sein??

Grüße A.Bu.

Autor: Wolfgang B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich hab ein ähnliches Problem.

Nach einer gewissen Zeit ca. 2 Sekunden meldet .ReadByte einen Fehler.

Folgende Exception:
"Der E/A-Vorgang wurde wegen eines Threadendes oder einer
Anwendungsanforderung abgebrochen."

Hat jemand schon mal das gleiche Problem gehat? (Gibts ne Lösung?)

C# sharp develop

void Button1Click(object sender, EventArgs e)
    {
      serialPort1.Open();
      while(true)
      {
        Application.DoEvents();
        try{
          serialPort1.ReadByte();}
        catch()
        {}
              }
    }

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.