Hallo,
ich habe einen Microprocessor (CControl), der über eine COM- Schnittstelle angeschlossen ist.
Bisher kommuniziere ich vom PC aus mit diesem mittels Hyperterminal, was für meine Zwecke eigentlich ausreicht. Manche längere Ein-/Ausgaben würde ich aber doch gerne mit Excel/VBA machen. Dazu habe ich mir die RSAPI.DLL installiert und aus Beispielprogrammen die folgenden Deklarationen in meinen VBA-Modul eingebaut:
Declare Sub DELAY Lib "RSAPI.DLL" (ByVal ms As Integer)
Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal para$)
Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal B%)
Declare Sub STRLENGTH Lib "RSAPI.DLL" (ByVal B%)
Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal B%)
Declare Sub TIMEINIT Lib "RSAPI.DLL" ()
Declare Function STRREAD Lib "RSAPI.DLL" (ByVal Display$) As Integer
Declare Function READBYTE Lib "RSAPI.DLL" (ByVal ix%) As Integer
Declare Function TIMEREAD Lib "RSAPI.DLL" () As Long
- Wenn ich nur etwas sende (OPENCOM, SENDBYTE) und nichts mit STRLENGTH und STRREAD gelesen wird, ist alles gut, an der Reaktion (per LED-Anzeigen) sehe ich, dass es richtig im Microprocessor verarbeitet wurde. Sind die beiden Anweisungen aber drin, stürzt Excel ab!
- Benutze ich die RSAPI-Subs und -Functions falsch?
Leider habe ich auf zig gegoogelten Seiten noch keine Beschreibung dieser RSAPI-Funktionen gefunden, hat jemand was?
Ich weiss, da gibt es ein Buch, davon brauche ich aber 99% nicht. - Gibt es sonst noch Möglichkeiten, die COM-Schnittstelle aus VBA anzusprechen?
Danke für die Hilfe
Laika
PS: Vista, Office 2003, VB 6.5