Seite 2 von 2

Verfasst: 06.05.2005 18:24
von Falko
Hallo Graffiti

Habe die aktuelle MVCOM mit dem Loopbackstecker verbunden und mit folgenden Source aus der MVCOM (etwas geändert) folgendes gemacht.

Code: Alles auswählen

;Open COM1 at 1200 Bds, no parity, 8 data bits and 1 stop bit
;Handshake mode set to None with RTS On 
Chaine.s = "Hallo hier Die Zahlen 0,1,2,3,4,5,6,7,8,9"
Car.s = " "
Port.s = "com1:1200,n,8,1"
Handshake.l = 1
Buffer.l = 1024

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
        While ComInputBufferCount(HCom) > 0
            If ComInput(HCom,Car)
                Ausgabe.s = Ausgabe + Car
            EndIf
         Wend
        ComClose(HCom)              ; Close the communication port
    Debug Ausgabe
    MessageRequester("TEST",Ausgabe)
    EndIf
EndIf
In der Ausgabe kommt die 0 auch im String. War das in etwa so gemeint?

Debugger hat geschrieben:Hallo hier Die Zahlen 0,1,2,3,4,5,6,7,8,9

Verfasst: 06.05.2005 19:49
von Graffiti
fast nicht

ich muß eine Steuersequenz senden

chr(27),chr(255),chr(64),chr(0),chr(0)

und die sollte dann im Terminalprogramm in der Dezimalansicht als

27
255
64
0
0

dargestellt sein, das MVCom scheiterte damals an den Nullen

habe dir übrigens ein klasse Freeware Terminalprogramm - Terminal v1.9b von Bray++ ca 290kB klein aber mit allen Extras

http://www.graffiti-pyrotechnik.de/ftp/ ... e/term.zip

Verfasst: 06.05.2005 19:52
von Graffiti
Ich würde ja Byteweise senden aber mit meiner Funkübertragung verliere ich pro sendung 20 millisekunden
das sind dann 80 ms mehr als wie wenn ich Stringweise sende

gruß Graffiti

Verfasst: 06.05.2005 22:23
von Falko
Feines Terminalprogramm. Habs mir gleich mal runtergeladen. Mit Loopback kann ich das dann so nicht testen, wenn ich das mit dem Terminal abfragen will. Ich werde morgen meinen 2. PC mal mit dem Nullmodemkabel verbinden und mal testen. Als String müßte man es senden können.

Gruss Falko

Verfasst: 06.05.2005 22:54
von Graffiti
geht mit Loopback, einfach das Terminalprogramm 2 mal starten und andere Schnittstellen einstellen
das mache ich mit meinen Funkmodulen auch immer.

gruß

Verfasst: 06.05.2005 22:55
von Graffiti
auf der rechten Seite kannst du dann dec anklicken dann sieht man auch die gesendeten Zahlen

Verfasst: 07.05.2005 00:39
von Falko
Hallo Graffiti

Ich hoffe ich habe das jetzt einigermassen richtig verstanden. In der MVCOM könnte man die Strings so wie du oben geschrieben hast ja senden und empfangen. Die Steuercodes sollen aber als Zahlen angezeigt werden. Bei einem Debugging mit Chr(0) und nachfolgenden strings, stürzt das programm ab. Wenn man diesen String filtert, lassen sich die Zahlen dann so auslesen. Hab mal das Codeschnipsel abgeändert, das es so rauskommt, wie du oben geschrieben hast. Ich hoffe, das nüzt was.
Das Terminalprogramm gibt aber alle Zeichen von "chr(0)" aus. Wenn das so gewünscht ist, ließe sich das auch auslesen.

Code: Alles auswählen

;Open COM1 at 1200 Bds, no parity, 8 data bits and 1 stop bit
;Handshake mode set to None with RTS On
Chaine.s = "chr(27),chr(255),chr(64),chr(0),chr(0)"
Car.s = " "
Port.s = "com1:1200,n,8,1"
Handshake.l = 1
Buffer.l = 1024

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
        While ComInputBufferCount(HCom) > 0
            If ComInput(HCom,Car)
                Ausgabe.s = Ausgabe + Car
            EndIf
         Wend
        ComClose(HCom)              ; Close the communication port
    Debug Ausgabe
    MessageRequester("TEST",Ausgabe)
    EndIf
EndIf 
;hier wird der String nach den Werten ausgefiltert.
Debug "----------------------------------------------------------------------------"
String$=Ausgabe 
Start=0
Repeat
Anfang = FindString(String$, "(", Start)+1
Ende= FindString(String$, ")", Anfang)
Debug Mid(String$,Anfang,Ende-Anfang)
Start=Ende
Until Ende = Len(String$)

Debugger hat geschrieben:chr(27),chr(255),chr(64),chr(0),chr(0)
----------------------------------------------------------------------------
27
255
64
0
0
Gruss Falko