virtueller COM-Port od. ähnl. um Programm mit COM zu testen

OP #5313773
Lesenswert?

Hi,

ich Programmiere gerade ein Programm (C#), dass über die serielle 
Schnittstelle mit einem Mikrocontroller quatscht. Jetzt habe ich den 
nicht immer zur Verfügung würde mein Programm aber trotzdem gerne 
testen.

Dazu suche ich sowas in der Art wie einen virtellen COM-Port. Auf die 
eine Seite kann sich mein C#-Programm mit dem verbinden, auf der anderen 
kann ich z.B. mit einem Terminal draufgehen und die Antworten 
simulieren, später mir evtl. sogar einen entsprechenden Simulator 
basteln.

Gibts sowas? Oder irgendwas ähnliches?

VG
da_user
Gast #5313790
Lesenswert?

Wolfgang schrieb:

> Du suchst vielleicht ein virtuelles Nullmodem, z.B.
> http://com0com.sourceforge.net/

Das funktioniert, in der richtigen Version für's eigene OS und nach 
korrekter Konfiguration, tatsächlich sehr gut.

Was aber i.d.R. noch viel besser und einfacher funktioniert: Ein echtes 
Nullmodem... Kostet maximal ein weitere reale serielle Schnittstelle und 
ein reales Nullmodem-Kabel...

Wenig erstaunlich kann man damit exakt dasselbe bauen, was man auch mit 
com0com baut. Bloß halt ohne diverse drohende Fallstricke, die den 
Normaluser normalerweise schnell überfordern...
Gast #5313818
Lesenswert?

Matthias S. schrieb:
> Dazu suche ich sowas in der Art wie einen virtellen COM-Port.

Dann leg dir doch irgend einen USB->Serial-Konverter zu, den es 
beimfreundlichen Chinesen für zwofuffzig gibt und brücke dessen RxD und 
TxD. Dann hast du deinen Ausgabe- und zugleich deine Eingabe-Kanal in 
Realität.

W.S.
Persönliche Seite #5313855
Lesenswert?

W.S. schrieb:
> Dann leg dir doch irgend einen USB->Serial-Konverter zu, den es
> beimfreundlichen Chinesen für zwofuffzig gibt und brücke dessen RxD und
> TxD.

Und wie verbindest Du gleichzeitig zwei Programme damit?

Gefragt ist das hier:

> Auf die eine Seite kann sich mein C#-Programm mit dem verbinden, auf der
> anderen kann ich z.B. mit einem Terminal draufgehen

Da hilft eine serielle Schnittstelle nicht.

Also bräuchte man schon zwei USB-UART-Bridges, die man mit einem 
Nullmodemkabel miteinander verbindet.
OP #5314273
Lesenswert?

Wolfgang schrieb:
> Matthias S. schrieb:
>> Gibts sowas? Oder irgendwas ähnliches?
>
> Du suchst vielleicht ein virtuelles Nullmodem, z.B.
> http://com0com.sourceforge.net/

Nullmodenkabel!
Das ist vor meiner Zeit, könnte aber genau das sein, was ich brauche.
Ich will möglichst nicht mit ext. Hardware nochmal rumbasteln, bzw. die 
mit mir rumschleppen müssen.

Dankeschön an alle!
(Firma: Q3) #5314439
Lesenswert?

Bau ein IP-Socket in dein Programm ein und schalte zwischen Serial und 
Socket per Tastendruck, Config-File oder #def ... beim Start um.

Kannst ja beide Schnittstellen-Typen hinter identische Funktionen 
wrappen, so hat es keine Auswirkungen auf den restlichen Sourcecode.

Terminalprogramme (z.B. "Putty"), die auch TCP können, gibts wie Sand am 
Meer. Nimm als Verbindungsparameter "localhost" oder "127.0.0.1" und 
eine ansonsten nicht genutzte Portnummer oberhalb 1024, z.B. 3307 
(ausprobieren).

Der Vorteil: KEINE zus. Software, keine Treiber und keine Kabel 
erforderlich.
Gast #5315169
Lesenswert?

Rufus Τ. F. schrieb:

> Der große Vorteil gegenüber com0com ist der, daß man dafür bezahlen
> muss.

Du hast vergessen, "Vorteil" in Anführungszeichen zu setzen, um die 
Ironie auch für DAUs deutlich zu machen...

------------------------------------------------------------------------ 
-----------------------------

Aber trotzdem: für DAU-Dummdödel kann der Erwerb einer zusätzlichen 
Schnittstelle und eines Nullmodemkabels tatsächlich der einfachere und 
billigere Weg sein. Ja klar, er muss Kohle (in sehr überschaubarem 
Umfang) in die Beschaffung der Hardware investieren, spart dafür aber 
u.U. viele Stunden (in kaum abschätzbaren Umfang, die Grenze ist die 
mögliche Idiotie und die halte ich, wie Einstein, für ziemlich 
unendlich) bei der korrekten Installation und Konfiguration von com0com. 
Das ist nämlich keinesfalls vollständig selbsterklärend und 
DAU-tauglich. Schon die Wahl des korrekten Downloads dürfte viele DAUs 
hoffnungslos überfordern und dann oft für einen kompletten Fehlschlag 
sorgen, was der DAU allerdings erst nach vielen Stunden vergeblicher 
(weil: vorherein zum Scheitern verurteilter) Konfigurationsversuche 
bemerkt...
Gast #5315186
Lesenswert?

Ich mache es immer mit 2 wirklichen Schnittstellen. Erstens braucht man 
(wenn man sie überhaupt nutzt) oft mehrere, zweitens "sieht" man 
notfalls mit einer 5V-LED die Signale, wenn man sie vom Signal zu GND 
schaltet (und ja, sie könnten durchbrennen... aber sie tun es nicht und 
dann ist eine Diskussion darüber auch sinnlos. Und wenn sie es tun, dann 
halt eine Diode dazu.)

Für die zweite kannst Du dann irgendein ein Programm nehmen.

Matthias S. schrieb:
> Dazu suche ich sowas in der Art wie einen virtellen COM-Port. Auf die
> eine Seite kann sich mein C#-Programm mit dem verbinden, auf der anderen
> kann ich z.B. mit einem Terminal draufgehen und die Antworten
> simulieren, später mir evtl. sogar einen entsprechenden Simulator
> basteln.

Wenn Du ein C# Programm hast, dass RS232 spricht, ... dann ist das in 
der Regel eine gute Basis für einen Hack der Gegenstelle.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren