serielle Schnittstelle [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
serielle Schnittstelle [ERLEDIGT]
Hi,
ich stehe vor einem kleinen Problem. Wie schon woanders hier berichtet, habe ich einen Datenzufluß über eine serielle Schnittstelle. ToolsIII zum programmieren habe ich. Aber ich habe leider Gottes kein Gerät, was mir die Daten dazu liefert, weil das fest eingebaut ist. Jetzt möchte ich gerne ein kleines Programm schreiben, mit dem ich die Daten zumindest abfangen und am Bildschirm anzeigen kann, damit ich sehe ich bin auf der richtigen Spur.
Hat vielleicht jemand eine Idee, wie man sowas simulieren kann, wenn man kein serielles Gerät dafür hat. Im Moment fällt mir nichts ein, was man heute noch hat für die serielle Schnittstelle, das auch Daten zum PC senden würde.
ich stehe vor einem kleinen Problem. Wie schon woanders hier berichtet, habe ich einen Datenzufluß über eine serielle Schnittstelle. ToolsIII zum programmieren habe ich. Aber ich habe leider Gottes kein Gerät, was mir die Daten dazu liefert, weil das fest eingebaut ist. Jetzt möchte ich gerne ein kleines Programm schreiben, mit dem ich die Daten zumindest abfangen und am Bildschirm anzeigen kann, damit ich sehe ich bin auf der richtigen Spur.
Hat vielleicht jemand eine Idee, wie man sowas simulieren kann, wenn man kein serielles Gerät dafür hat. Im Moment fällt mir nichts ein, was man heute noch hat für die serielle Schnittstelle, das auch Daten zum PC senden würde.
Zuletzt geändert von Manfred am Fr, 18. Jun 2010 13:16, insgesamt 1-mal geändert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: serielle Schnittstelle
Versuch doch einfach 2 PCs über die serielle Schnittstelle zu verbinden. M.E. sollte das mit einem Nullmodemkabel funktionieren.
Frag mich jetzt aber nicht nach der Verkabelung
Frag mich jetzt aber nicht nach der Verkabelung
Viele Grüße
Wolfgang
Wolfgang
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: serielle Schnittstelle
Jaja,
da hast Du recht, daran habe ich nicht gedacht. Aber ich glaube ich habe keinen 2.PC mehr. Aber wenn ich genau nachdenke..... irgendwo im stillen Kämmerlein.
Sowas blödes, liegt direkt vor der Tür, sagt nichts und wird auch nicht gesehen.
da hast Du recht, daran habe ich nicht gedacht. Aber ich glaube ich habe keinen 2.PC mehr. Aber wenn ich genau nachdenke..... irgendwo im stillen Kämmerlein.
Sowas blödes, liegt direkt vor der Tür, sagt nichts und wird auch nicht gesehen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: serielle Schnittstelle
Hallo Manfred,
evtl. könntest du dir auch einen USB-Seriell Adapter besorgen, dann serielle Schnittstelle mit dem Adapter verbinden und Daten mit demselben Programm über z.B. Com1 senden und von Com2 lesen.
evtl. könntest du dir auch einen USB-Seriell Adapter besorgen, dann serielle Schnittstelle mit dem Adapter verbinden und Daten mit demselben Programm über z.B. Com1 senden und von Com2 lesen.
Viele Grüße
Wolfgang
Wolfgang
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: serielle Schnittstelle
Wolfgang,
Deine Idee war schon eigentlich goldrichtig. Ich habe hier gerade noch einen PC gefunden mit 2 seriellen Schnittstellen und etliche Kabel, mit Kreuz und Quer Adapter und Nullmodem Adapter aus alten Zeiten. Das werde ich mal austesten, ob das so klappt, wie ich es gerne hätte.
Deine Idee war schon eigentlich goldrichtig. Ich habe hier gerade noch einen PC gefunden mit 2 seriellen Schnittstellen und etliche Kabel, mit Kreuz und Quer Adapter und Nullmodem Adapter aus alten Zeiten. Das werde ich mal austesten, ob das so klappt, wie ich es gerne hätte.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: serielle Schnittstelle
Hi,
das Grundkonzept klappt. Software, die beliebiges über die ser. Schnittstelle schickt, das man dann auf der 2. auffangen und verarbeiten kann.
Jetzt gibt es ein weiteres Problem, hat jemand Erfahrung mit den Tools und den Funktionen für die ser. Schnittstelle?
Irgendwie werde ich das Gefühl nicht los, als wenn sich irgendwann die Daten wiederholen, so als ob der Puffer wieder von vorne ausgelesen wird, wenn er durch ist.
Der Parameter lNichtLöschen ist in den Tools für xbase++ nicht mehr dabei. Muß ich jetzt irgendwas selbst machen mit dem Buffer? Ich kann so direkt nichts finden im Handbuch, was ich direkt verstehen würde. Leider habe ich nicht so viel Erfahrung mit ser. Schnittstellen, bzw. es ist schon verdammt lange her, dass ich die benutzt habe. Mein damaliger Quellcode existiert nicht mehr und somit weiß ich auch nicht, wie ich damals das Problem angegangen bin.
das Grundkonzept klappt. Software, die beliebiges über die ser. Schnittstelle schickt, das man dann auf der 2. auffangen und verarbeiten kann.
Jetzt gibt es ein weiteres Problem, hat jemand Erfahrung mit den Tools und den Funktionen für die ser. Schnittstelle?
Code: Alles auswählen
PROCEDURE main()
LOCAL cEingabe := ""
LOCAL cText := ""
LOCAL cZeichen
LOCAL lInit
LOCAL lStatus
LOCAL nPort := 1 // COM Schnittstelle
LOCAL nZaehler := 0
lStatus := Com_Open(nPort,2000)
lInit := Com_Init(nPort,9600)
DO WHILE lStatus .AND. lInit // wenn nicht zu öffnen ging, dann Ende
cZeichen := Com_Read(nPort,1) // immer nur 1 Zeichen lesen
IF Empty(cZeichen)
LOOP
ENDIF
IF StrToHex(cZeichen) = "C3" // hier muß konvertiert werden
cZeichen := Com_Read(nPort,1) // nächstes Byte einlesen um zu wissen wohin konvertiert werden muß
IF StrToHex(cZeichen) = "71"
cEingabe += "02"
ELSEIF StrToHex(cZeichen) = "72"
cEingabe += "03"
ELSEIF StrToHex(cZeichen) = "73"
cEingabe += "C3"
ENDIF
cEingabe += Space(1)
Loop
ELSEIF StrToHex(cZeichen) = "03" // Ende des Datensatzes
? Time() + " -> " + cEingabe // Anzeige am Bildschirm
cText += cEingabe + CRLF // Anhängen an den Textstring
cEingabe := ""
ELSE
IF StrToHex(cZeichen) <> "02"
cEingabe += StrToHex(cZeichen) + Space(1)
ENDIF
Loop
ENDIF
IF ++nZaehler > 100 // Schleife wild von mir gesetzt
EXIT
ENDIF
ENDDO
MemoWrit("..\download\seriell.txt",cText)
Com_Close(nPort)
RETURN
Der Parameter lNichtLöschen ist in den Tools für xbase++ nicht mehr dabei. Muß ich jetzt irgendwas selbst machen mit dem Buffer? Ich kann so direkt nichts finden im Handbuch, was ich direkt verstehen würde. Leider habe ich nicht so viel Erfahrung mit ser. Schnittstellen, bzw. es ist schon verdammt lange her, dass ich die benutzt habe. Mein damaliger Quellcode existiert nicht mehr und somit weiß ich auch nicht, wie ich damals das Problem angegangen bin.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: serielle Schnittstelle
Hallo Manfred,
ich mache immer vorm Senden und nach dem Lesen einen COM_FLUSH(comport).
ich mache immer vorm Senden und nach dem Lesen einen COM_FLUSH(comport).
Viele Grüße
Wolfgang
Wolfgang
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: serielle Schnittstelle
Möglich auch, dass der Sender irgendeine Quittung erwartet.
Herzlich,
Tom
Tom
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: serielle Schnittstelle
Du solltest natürlich vorher mit COM_COUNT prüfen, ob noch Zeichen zu lesen sind.
Wäre es nicht sowieso besser, nicht nur ein Zeichen von der Schnittstelle zu lesen, sondern gleich mehrere und dann über eine Stringverarbeitung die Zeichen zu extrahieren ?
Wäre es nicht sowieso besser, nicht nur ein Zeichen von der Schnittstelle zu lesen, sondern gleich mehrere und dann über eine Stringverarbeitung die Zeichen zu extrahieren ?
Viele Grüße
Wolfgang
Wolfgang
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: serielle Schnittstelle
@Wolfgang,
Com_Flush() kann ich jetzt im Moment nicht einordnen. Es kommen laufend Daten. Es handelt ich hier nur um Empfang. Würde ich damit nicht die nachfolgenden Daten killen?
Ich hatte das mit den einzelnen Zeichen deshalb so gewählt, um es einfacher weiterverarbeiten zu können. Vielleicht sollte ich es mal ändern.
@Tom,
das wäre jetzt noch zu prüfen, denke ich aber nicht.
Ich wollte nur erstmal wissen, ob etwas grundsätzliches falsch läuft. Also noch ein wenig experimentieren.
Com_Flush() kann ich jetzt im Moment nicht einordnen. Es kommen laufend Daten. Es handelt ich hier nur um Empfang. Würde ich damit nicht die nachfolgenden Daten killen?
Ich hatte das mit den einzelnen Zeichen deshalb so gewählt, um es einfacher weiterverarbeiten zu können. Vielleicht sollte ich es mal ändern.
@Tom,
das wäre jetzt noch zu prüfen, denke ich aber nicht.
Ich wollte nur erstmal wissen, ob etwas grundsätzliches falsch läuft. Also noch ein wenig experimentieren.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: serielle Schnittstelle
Kommando zurück,
ich habe das Programm im Livesystem laufen lassen und da klappt es. Scheint also nicht so ganz zu klappen mit dem "Combeschickungsprogramm".
ich habe das Programm im Livesystem laufen lassen und da klappt es. Scheint also nicht so ganz zu klappen mit dem "Combeschickungsprogramm".
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!