Serielle Abfrage ohne zu wissen was dran ist ?!
In a$? Die Daten werden mit ReadString() vom Port gelesen (wenn was da ist) und in a$ abgelegt. dann mit PrintN(a$) ausgegeben.
Kann aber sein, dass ReadString() nur geht, wenn die Waage die Daten mit einem CR+LF (ASCII 13 + 10) abschließt. Sonst probier mal
a$ = a$ + Char(ReadByte()), dann werden die Zeichen einzeln gelesen.
Oder nimm endlich die MVCOM-Library, die ist genau für sowas gemacht, und es sind Beispiele dabei.
Sven
Kann aber sein, dass ReadString() nur geht, wenn die Waage die Daten mit einem CR+LF (ASCII 13 + 10) abschließt. Sonst probier mal
a$ = a$ + Char(ReadByte()), dann werden die Zeichen einzeln gelesen.
Oder nimm endlich die MVCOM-Library, die ist genau für sowas gemacht, und es sind Beispiele dabei.
Sven
Was glaubst Du womit ichs versucht habe ???Oder nimm endlich die MVCOM-Library...

btw:
Code: Alles auswählen
Char() is not a function...

PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
So sollte es funzen:
Code: Alles auswählen
Repeat
a$ = ""
Repeat
b = ReadByte()
If b
a$ + Chr(b & $FF)
EndIf
Until b = $0A
PrintN(a$)
Delay(500)
zahl+1
Until zahl=1000
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
nö... auch nix !
gibt auch nix von sich.... es ist zum ......

Code: Alles auswählen
Chaine.s = Hex(5)
Port.s = "com3:4800,e,7,1"
Handshake.l = 1
Buffer.l = 1024
Car.s
e.s
HCom.l = ComOpen(Port, Handshake,Buffer,Buffer)
If HCom > 0 ; Communication port is open
If ComOutput(HCom,Chaine) ; Send data
Delay(1000) ; Or other action
NbCar.l = ComInputBufferCount(HCom) > 0
While NbCar > 0
Car = Space(NbCar) ;Adjust the size of Car
If ComInputAll(HCom,Car,NbCar)
e$+ Car
EndIf
Wend
ComClose(HCom) ; Close the communication port
EndIf
EndIf
MessageRequester("",e$)
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Was ist das denn :
?
Das hatte ich aber nicht geschrieben...
Das würde das hier senden:
$35 $0D $0A
und das hat rein gar nix mit Strg+E zutun...
[Edit]und bleib endlich mal bei einer Version. Dieses ständige zwischen API und MVCOM hin- und herschalten ist nur verwirrend.
Ausserdem brauchst für den Pipifax keine MVCOM, das wäre mit Kanonen auf Spatzen geschossen...
Code: Alles auswählen
WriteStringN(Hex(5))
Das hatte ich aber nicht geschrieben...
Das würde das hier senden:
$35 $0D $0A
und das hat rein gar nix mit Strg+E zutun...
[Edit]und bleib endlich mal bei einer Version. Dieses ständige zwischen API und MVCOM hin- und herschalten ist nur verwirrend.
Ausserdem brauchst für den Pipifax keine MVCOM, das wäre mit Kanonen auf Spatzen geschossen...
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Wem soll ichs denn recht machen ??
Der eine schreibt


und der andereOder nimm endlich die MVCOM...
Nun, ich probiere alles aus und habe derzeit 34 Codeschnipsel, welche ich nacheinander getestet habe - per API und per MVCOM ! Habe nun wirklich alles versucht, aber es kommt nichts an. Daß da jetzt der Fehler mit dem HEX(5) war ist klar, habs mal eben so zusammen geschustert Sorry ![Edit]und bleib endlich mal bei einer Version...
nun, dann zeig mir mal ne Lösung für den "Pipifax" ?Ausserdem brauchst für den Pipifax keine MVCOM, das wäre mit Kanonen auf Spatzen geschossen...

PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Würde ich ja gerne, aber ich krieg irgendwie sogut wie keine Infos, ausser einem "Es geht nicht".
Was genau passiert hier z.B.:
etwa gar nix ?
Aber mit deinem Com-Überwacher siehst du das vom Screenshot ?
Was genau passiert hier z.B.:
Code: Alles auswählen
OpenConsole()
If Open_Com(3, 4800, 1024, 1024, #EVENPARITY, 7, #ONESTOPBIT, $2018, 50)
WriteByte(5) ;<- This should be Strg+E ... Play with it...
Repeat
a$ = ""
Repeat
b = ReadByte()
If b
Debug b
a$ + Chr(b & $FF)
EndIf
Until b = $0A
PrintN(a$)
Delay(500)
zahl+1
Until zahl=1000
Close_Com(3)
Else
PrintN("Error!, Can't open Com3")
Input()
EndIf
CloseConsole()
End
Aber mit deinem Com-Überwacher siehst du das vom Screenshot ?
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
ist etwas komplizierter....
Also erstmal danke für den Code. Ich generiere daraus ne EXE uns schicke diese an meinen bekannten (in Bochum) der die Waage hat. Der wiederum startet das Programm und sagt seinem Administrator bescheid, daß das Programm gestartet wurde und der kann per Monitor schauen, ob was passiert (bzw was gesendet oder empfangen wird).
Ist halt über 5 Ecken... Es handelt sich um eine Waage für LKWs ! Soviel weiß ich ! Mein Bekannter will aucheinen Code raussuchen und mir diesen mal zukommen lassen. Ich habe dem jetzt mal die EXE geschickt !
Sobald ich mehr weiß schreib ichs rein, okay ?
Also erstmal danke für den Code. Ich generiere daraus ne EXE uns schicke diese an meinen bekannten (in Bochum) der die Waage hat. Der wiederum startet das Programm und sagt seinem Administrator bescheid, daß das Programm gestartet wurde und der kann per Monitor schauen, ob was passiert (bzw was gesendet oder empfangen wird).
Ist halt über 5 Ecken... Es handelt sich um eine Waage für LKWs ! Soviel weiß ich ! Mein Bekannter will aucheinen Code raussuchen und mir diesen mal zukommen lassen. Ich habe dem jetzt mal die EXE geschickt !
Sobald ich mehr weiß schreib ichs rein, okay ?
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Hmm... als Exe sehen wir aber den Debug nicht...
Versuch mal das hier:
Versuch mal das hier:
Code: Alles auswählen
If Open_Com(3, 4800, 1024, 1024, #EVENPARITY, 7, #ONESTOPBIT, $2018, 50)
WriteByte(5) ;<- This should be Strg+E ... Play with it...
*Buffer = AllocateMemory(32)
TimeOUT = ElapsedMilliseconds() + 3000
If *Buffer
Repeat
Delay(20)
UseFile(3)
L + ReadData(*Buffer + L, 14 - L)
If TimeOUT < ElapsedMilliseconds()
Break
EndIf
Until L = 14
MessageRequester("Info", "Es kamen " + Str(L) + " Zeichen an :" + PeekS(*Buffer, L))
Close_Com(3)
FreeMemory(*Buffer)
EndIf
Else
MessageRequester("Error!", "Can't open Com3")
EndIf
End
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
So, nun habe ichs nochmal testen lassen, aber wir kamen auf kein Ergebnis.
Kennt jemand "NerBasic" ??
Habe da einen Quellcode bekommen, vielleicht hat jemand ne Idee den umzusetzen ?!
#13 ist die Waage !!
ist nur ein Ausschnitt, aber NUR in diesem Bereich wird gelesen !
Kennt jemand "NerBasic" ??
Habe da einen Quellcode bekommen, vielleicht hat jemand ne Idee den umzusetzen ?!
Code: Alles auswählen
...
30000 REM INIT STEUERZEICHEN WAAGE
30001 REM BEACHTE, NULL AHNUNG WAS und WIEVIEL šBER die LEITUNK KOMMT
30040 LET G3$="_205_" ; ENQ ( GUCKEN OB WAAGE DA )
30041 LET N3$=G3$
30042 CALL 20,2,G3$,0
30050 LET G4$="_206_" ; ACK ( VERSTANDEN)
30051 LET N4$=G4$
30052 CALL 20,2,G4$,0
30060 LET G5$="u" ; NAK ( nicht VERSTANDEN )
30061 LET N5$=G5$
30062 CALL 20,2,G5$,0
30070 LET G6$="_212_" ; 'LF'
30071 LET N6$=G6$
30072 CALL 20,2,G6$,0
30080 LET G7$="_215_" ; 'CR'
30082 CALL 20,2,G7$,0
30090 LET G8$="_202_" ; STX
30091 LET N8$=G8$
30092 CALL 20,2,G8$,0
30100 LET G9$="_203_" ; ETX
30101 LET N9$=G9$
30102 CALL 20,2,G9$,0
30190 Return
---------------------------------------------------------------------------------
;- ab hier wirds interesant !!
---------------------------------------------------------------------------------
40000 If ESC Goto 40200 ; Abbruch, Nochmal versuchen ??
40005 If ERR 0 Goto 40200 ; Abbruch, Nochmal versuchen ??
40010 LET D(1)= SPC 3 ; Zeit in 10-tel Sekunden
40020 LET D(2)=0 ; noch Kein Versuch gestartet
40030 WRITE #13;G3$ ; Sende ENQ
40040 SIGNAL 3,20
40050 If LKY 0=256 Goto 40200
40060 LET D(2)=D(2)+1
40065 If D(2)>3 Goto 40200
40070 CLEAR W$,W9$
40071 LET D(3)=0 ; Z„hler Leseversuche
40080 Read #13;W$;
40090 LET W9$( LEN W9$+1)=W$
40100 CALL 23,N6$,W9$,1,A
40110 If A>0 Goto 40152 ; Fertig !
40120 LET D(3)=D(3)+1
40125 If D(3)>10 Goto 40200
40130 SIGNAL 3,4
40135 Goto 40080 ; Nächste Daten lesen
40150 REM
...
ist nur ein Ausschnitt, aber NUR in diesem Bereich wird gelesen !
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !