Interrupt von der seriellen Schnittstelle



  • Moin!

    😕
    Ich möchte gerne Daten von der seriellen Schnittstelle lesen. Da die Daten aber in sehr unterschiedlichen Zeitabständen empfangen werden sollen, möchte ich gerne wissen wie ich Interrups mit Visual C++ bediene. Ich hoffe mir kann jemand helfen.

    Vielen Dank im *******!! 🙂



  • Interrups kannst du nicht mehr machen aber ein thread der in regelmäßigen abständen auf die serielle schnittstelle zugreift 😉



  • Das geht mit WaitCommEvent()



  • Hallo!

    Vielen Dank für Eure Mithilfe. Ich werde das sofort ausprobieren.

    Gruß
    Patric



  • Hallo Patric,
    das hört sich so an als ob du nun genau weißt, was du tun mußt.
    Wenn dem tatsächlich so ist würde mich deine Lösung sehr neugierig machen 🙄



  • Hallo dscho!

    Und für mich hört sich Dein Beitrag so an, als wenn Du die Lösung wüßtest, jedoch mit dieser hinterm Berg halten willst ????

    Gruß
    Patric



  • Sorry, dann hast du mich falsch verstanden ich versuche das schon seit Tagen zu lösen.
    Aber hast du schon mal auf der Seite
    [url] http://www.codeproject.com/system/serial.asp[/url]
    das Beispiel angeschaut??



  • Hallo dscho!

    Dann muss ich mich wohl auch entschuldigen!

    Also ich hatte mir die Problemlösung folgendermassen vorgestellt.

    1. Grundsätzlich werde ich die Kommunikation mit der seriellen Schnittstelle mit einer Sharewareversion von WSC32.DLL realisieren. Ist glaube ich von M*****allsoft.

    2. Dann würde ich einen THREAD aufbauen, der innerhalb von einer bestimmten Zeit den Buffer von der seriellen Schnittstelle abfragt.

    3. Ist etwas im Buffer werde ich das verarbeiten. Ansonsten mit dem eigentlichen Programmablauf fortfahren.

    Code gibt es noch net dazu. Das ist halt meine derzeitige Vorstellung.

    Gruß
    Patric



  • Hallo Patric ich würde mir an deiner Stelle auf jeden Fall den Link anschauen. Dort kann man eine Klasse CSerial runterladen die auch mit MFC einsetzbar ist. Dort wird die serielle Schnittstelle auch irgendwie über einen Thread gesteuert. Und immer wen einer der glaube ich 8 Events die die serielle Schnittstelle haben kann eintritt wird eine Message verschickt zu einem Benutzerdefinierten Fenster und man kann dann die Daten auswerten. Eigentlich ist diese Klasse absolut perfekt und eigentlich sehr einfach zu implementieren.
    Damit sparst du Dir auch in bestimmten Zeitabständen die Schnittstelle zu checken. Es geht alles automatisch und im Hintergrund.



  • Es gibt auch eine Ser-class in der FAQ.
    Dazu eine CWinThread und falls Daten da sind eine Message an den Hauptthread senden.


Anmelden zum Antworten