mal wieder ne Schnittstellen-Frage

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: mal wieder ne Schnittstellen-Frage
von: Andi
Geschrieben am: 24.11.2003 10:15:59

Liebe Leute,

dank dieses Forums bin ich mit meinem Programm zum Auslesen von Messdaten aus einem Messgerät inzwischen schon ziemlich weit. Ein Problem hab' ich aber noch:
die Übertragung klappt nur dann fehlerfrei, wenn ich die Daten vorher schonmal mit der *gleichen* Übertragugsrate über das Windows-Hyper-Terminal eingelesen habe; andernfalls wird zwar auch was übertragen, aber leider nicht die korrekten Daten.

Zum Einlesen verwende ich folgenden Code:

baud = InputBox("Bitte geben Sie die Übertragungsrate ein:")
MsgBox ("Klicken Sie auf OK," + Chr(13) + Chr(13) + "und starten Sie dann den Datentransfer" + Chr(13) + Chr(13) + "am FAT")

OPENCOM "COM1:baud,N,8,2"

For kurven_zaehler = 1 To kurven_endwert
For byte_zaehler = 1 To byte_endwert
zeile = byte_zaehler + 9
spalte = 4 + (kurven_zaehler - 1) * 9
Cells(zeile, spalte).Value = READBYTE
Application.StatusBar = "Lese: Byte " + CStr(byte_zaehler) + " von Kurve " + CStr(kurven_zaehler)
Next byte_zaehler
Next kurven_zaehler
CLOSECOM
Application.StatusBar = "Fertig"


Lasst Euch durch die Zeilen- und Spalten-Arithmetik nicht verwirren, die erklärt sich durch das Layout meins Arbeitsblattes.
Die Angaben keine Parität, 8 Datenbits, 2 Stopbits entsprechen den Angaben des Messgerät-Hersttellers über das Übertragungsformat, hier kann der Fehler also nicht liegen.

Hat jemand eine Idee?

Schönen Gruß
Andi

Bild


Betrifft: AW: mal wieder ne Schnittstellen-Frage
von: Bärnd
Geschrieben am: 24.11.2003 10:26:59

Hallo Andi,

ich nehme an, das OPENCOM eine Excel2k-Funktion ist, bei Excel 97 ist sie noch nicht mit dabei.

> OPENCOM "COM1:baud,N,8,2"

wenn die eingegebene Baud-Rate und nicht die Zeichenkette "baud" als Parameter übergeben werden soll, dann muß die Zeile so aussehen:

OPENCOM "COM1:" & baud & ",N,8,2"



Ciao

der Bärnd


Bild


Betrifft: Danke!!!
von: Andi
Geschrieben am: 24.11.2003 10:42:26

Klappt perfekt!!

OPENCOM ist übrigens, genau wie CLOSECOM und READBYTE, in einer .dll-Datei (in meinem Fall port.dll) definiert, und wird über
Private Declare Sub OPENCOM Lib "port" (ByVal a$)
bzw.
Private Declare Sub CLOSECOM Lib "port" ()
Private Declare Function READBYTE Lib "port" () As Integer
eingebunden.

Schönen Gruß
Andi


Bild

Beiträge aus den Excel-Beispielen zum Thema " mal wieder ne Schnittstellen-Frage"