INFO - FAQ - CC2-Forum - CCPro-Forum |
> > > > Jetzt hätte ich noch mal eine Frage zum Senden von Bytes nach Excel. > > > > > > > > Meine M-unit sendet einwandfrei an ein RS 232 Terminal einzelne Bytes. > > > > z. B. 255. Dies entspricht genau dann der Referenzspannung 5V meiner M-unit. > > > > > > > > Dieses Byte 255 sende ich mit put. > > > > > möchte das Ganze nochmal erklären. > > Ja mein Terminal erkennt natürlich als Byte 255 und als Text ein y mit zwei Punkten darauf. > > Laut ASCII-Code pass das haargenau. > > Das passt ja alles. D.h. die Unit macht genau das was ich will > > Ja, dann ist das möglicherweise hier das falsche Forum für Deine Frage? > > > Und vor allem warum erscheint beim Senden nach Excel nicht die 255!!!!!! > > Wild geraten: Versuch's doch in der CC mal mit print statt mit put. Dann werden die drei Ziffern einzeln als Zeichen übertragen. Vielleicht ist es das ja, was Deine Einleseroutine erwartet? > > > Wie Du schon geschrieben hast , ist das ein Visual Basic Problem. Leider bin ich als > > Werkzeugmacher hier totaler Laie. > > Poste doch mal die entscheidenden 10 Zeilen VB, in denen eingelesen und in die Tabelle geschrieben wird. > > Bye > Achim Hallo Achim, danke für das Angebot. Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal ComParameter$) Declare Sub TIMEINIT Lib "RSAPI.DLL" () Declare Function TIMEREAD Lib "RSAPI.DLL" () As Long Declare Function READBYTE Lib "RSAPI.DLL" () As Byte Declare Function STRREAD Lib "RSAPI.DLL" (ByVal D$) As Integer Declare Sub STRLENGTH Lib "RSAPI.DLL" (ByVal B%) Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal ms%) Declare Sub FINDHARD Lib "RSAPI.DLL" (ByVal Meldung%) Sub Makro1() OPENCOM "COM1:9600,N,8,1,CS,DS" FINDHARD 1 Sheets("Tabelle1").Activate 'Blatt aktivieren Range("A1").Select Columns("A:B").Select Selection.ClearContents 'Spalten löschen ix = Cells(10, 8).Value Messdauer = Cells(ix, 8).Value * 1000 ix = Cells(10, 9).Value Intervall = Cells(ix, 9).Value * 1000 TIMEINIT t = 0: Zeile = 1 w = 0 Do xxx = READBYTE Cells(Zeile, 1).Value = TIMEREAD / 1000 Cells(Zeile, 2).Value = xxx While TIMEREAD < t + Intervall Wend t = TIMEREAD Zeile = Zeile + 1 Loop Until t >= Messdauer End End Sub Wo ist der Fehler?? Bitte nicht lachen, ist mein erster Versuch in der Angelegenheit. mfg Hermann Sattler |
Antwort schreiben |