Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
360to364
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
360to364
360to364
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten über die Serielle-Schnittstelle einlesen

Daten über die Serielle-Schnittstelle einlesen
11.01.2004 21:27:00
Mike
Hallo,
ich möchte Daten über den COM-Port (RS232) einlesen.
Gesendet wird ein Text-String den ich in diverse Zellen eintragen möchte.
Wichtig ist mir das ein Event ausgelößt wird wenn Daten gesendet werden.
MfG
Mike

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten über die Serielle-Schnittstelle einlesen
12.01.2004 10:15:31
Andi
Hi Mike,
ich hab' mich selbst kürzlich mit der RS232 rumgeschlagen, kann Dir also vielleicht weiterhelfen. Wo hakt es denn genau?
Schönen Gruß
Andi
AW: Daten über die Serielle-Schnittstelle einlesen
13.01.2004 19:23:54
Mike
Hallo,
ich möchte einen Text der über die Serielle Schnittstelle einlesen und auswerten.
Wenn möglich sollte der CommPort überwacht werden (Eventauswertung).
MfG
Mike
AW: Daten über die Serielle-Schnittstelle einlesen
14.01.2004 11:54:49
Andi
Hi Mike,
nachdem Du XP verwendest, wäre zunächst mal die Hürde des grundsätzlichen Zugriffs auf den Port zu überwinden:
Hierzu brauchst Du einen sog. virtuellen Treiber (Vichw00.sys) samt zugehöriger .dll (Tvichw32.dll), beide können unter http://www.b-kainka.de/portnt.htm runtergeladen werden.
Sodann musst Du noch die Datei port.dll, die es ebenfalls auf genannter Seite gibt, entweder ins Windows-Verzeichnis oder in den Ordner, in sich Deine Excel-Datei befindet, hineinkopieren.
Um den Port öffnen und auslesen zu können, müssen am Anfang Deines Makros, direkt hinter Option Explicit, folgende Zeilen stehen:
private declare sub OPENCOM Lib "port" (ByVal a&)
private declare sub CLOSECOM Lib "port" ()
private declare READBYTE Lib "port" () as Integer
Nun kannst Du mit
OPENCOM"COM1:9600, N, 8, 1" die Schnittstelle öffnen, wobei Du statt 9600 auch eine andere Übertragungsrate angeben kannst, je nach dem mit welcher Geschwindigkeit die Daten halt ankommen.
N steht für "kein Paritätsbit"
8 steht für 8 Datenbit
1 stehtt für 1 Stoppbit
Die ankommenden Daten werden als Dezimalzahlen eingelesen, z.B. so:
dezimal = READBYTE
die Dezimalzahlen lassen sich mittels Chr(dezimal) leicht in Zeichen umwandeln, die dann wiederum zu einem Text verknüpft werden können. Wenn keine Daten ankommen, ergibt READBYTE -1.
Am Ende der Übertragung solltest Du die Schnittstelle der Form halber noch mit
CLOSECOM wieder schliessen.
Ich hoffe, ich konnte Dir ein wenig weiterhelfen, wenn nicht meld' Dich einfach nochmal.
Ich muss allerding gestehen, dass sich mein Wissen über sie Schnittstelle auch in gewissen Grenzen hält, ich hab' mir halt das angeeignet, was ich für mein Makro vor kurzem brauchte.
Schönen Gruß & viel Erfolg
Andi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen