
|
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 > Hallo Hermann, Ich denke,wenn ich richtig gelesen hab,liegt das daran,daß du ja 255 überträgst.Für VB stellt dies eben jenes Zeichen nach dem ascci satz dar. Du mußt es erst mit der passenden zeichenkettefunktion umwandeln. ich kann nicht genau sagen wie sie heißt,ich hab kein vb auf dem rechner. ich denke es müßte str$(xxx) heißen. Mußte aber nochmal in die VB Hilfe nachsehen! netten Gruß Andi |
| Antwort schreiben |