Interrupt an J5 / Pin 3 mit VB2005.

  • Hallo.


    Wie sehen die DLL-Imports, für VB2005, für die Funktionen die bei der Interruptrealisierung (z.B. an J5 / Pin3) nötig sind. Also für die unten stehende Fnktionen:
    - CreateEvent()
    - InterruptInitialize()
    - WaitForSingleObject()
    - InterruptDone()
    - eventuell CeSetThreadPriority()
    für DeviceIoControl() habe ich den Importkode.


    Weitere Frage ist, wo gebe ich meine Interruptroutine an? Ich schätze in WaitForSingleObject(Meine_Interruptroutine, Zeit), oder?

  • Quote from "Mirko"

    für DeviceIoControl() habe ich den Importkode.


    Das bezweifele ich, denn "den" Code dafür gibt es nicht. Je nach Funktion sind hier andere Parameter notwendig, weshalb so eine Funktion in VB üblicherweise mehrfach definiert, also überladen ist.


    Quote

    Weitere Frage ist, wo gebe ich meine Interruptroutine an? Ich schätze in WaitForSingleObject(Meine_Interruptroutine, Zeit), oder?


    Nein. Das Konzept läuft anders. Man erzeugt einen Event mit CreateEvent() und assoziiert dann den Event mit dem Interrupt über InterruptInitialize(). Künftig wird also jedesmal, wenn der Interrupt auftritt, der Event gesetzt. Auf dieses Ereignis kann mit WaitForSingleObject() gewartet werden. Üblicherweise wird dieser Aufruf und die daran folgende Behandlung deshalb in einen eigenen Thread ausgelagert. Man spricht darum auch vom Interrupt Service Thread (IST).


    Da Interruptbehandlung üblicherweise zeitkritisch ist, sollten Sie sich dringend überlegen, zumindest dieses Modul in C/C++ (Win32) zu implementieren und nicht in einer .NET-Sprache.


    Mit freundlichen Grüßen,


    H. Keller

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.