RS232 DataReceived tritt nicht ein

Gast #590980
Lesenswert?

Hallo Leute!

Ich habe ein Programm geschrieben, das Daten von einer RS232 
Schnittstelle empfängt. Das Programm funktioniert auf meinem Desktop PC 
einwandfrei. Wenn ich es jedoch auf meinem Laptop betreiben möchte habe 
ich ein Problem. Und zwar hat der Laptop keine RS232 Schnittstelle. Also 
habe ich mir einen Adapter besorgt, den Treiber installiert und mein 
Gerät angeschlossen. In der Gerätesteuerung ist dann auch sofort COM3 
aufgetaucht, schön. Wenn ich nun mit meinem Prog COM3 öffne kommt keine 
Fehlermeldung oder so, wenn ich nach dem öffnen einen Haltepunkt setze, 
wird auch angezeigt das der Port open ist. Aber es kommen einfach keine 
Daten an. Das DataReceived Ereignis tritt einfach nicht ein. Also, mal 
schnell Hyperterminal gestartet und geschaut was da ankommt. Nur Schrott 
mit dem ich nichts anfangen kann. Aber dieser Schrott muß doch 
eigentlich reichen um das DataReceived auszulösen, oder nicht? Ich weis 
gerade nicht weiter, hatte schon mal jemand das Problem, oder hat eine 
Idee was ich noch versuchen könnte? Weis jemand was genau das 
DataReceived auslöst?

Ich nutze das FW 2.0 und VB.2005

Gruß
Christoph
Gast #591223
Lesenswert?

Hallo,

wenn "nur Schrott" ankommt: Baudrate und Zeichenrahmen kontrollieren.

>Aber dieser Schrott muß doch
>eigentlich reichen um das DataReceived auszulösen, oder nicht?

Eher nicht: Die Zeichen kommen zwar an der Schnittstelle an, da sie aber 
fehlerhaft sind, werden sie verworfen (und eventuell ein Fehlerbit 
gesetzt).
0 valid characters received..., wo soll da das "Ereignis" herkommen ?
Gast #591315
Lesenswert?

Aso, das passt aber alles. Das habe ich schon 1000* verstellt und 
abgeglichen. Wenn ich das ganze dann auf einem Rechner mit RS232 
Schnittstelle(also ohne Adapter & USB) teste funktioniert alles. Es 
scheint also ein Hardware Problem zu sein, oder?

Gruß
Christoph
Gast #592404
Lesenswert?

Ich vermute mal, dass du über ein Card-Bus-Interface (bzw. PCMCIA) die 
serielle Schnittstelle an den Laptop bekommst.
Damit hatte ich auch schon Probleme.

Problem bei diesen Adaptern: Hardware-Handshakes sind nicht unterstützt 
(RTS und CTS Signale, DSR und DTR Signal ist auch Problem).
RS232-Schnittstellentreiber brauchen am PC in der Regel aber CTS-Signal, 
damit Zeichenempfang erfolgt. In VB MUSS RTS explizit HIGH gesetzt 
werden, damit Schnittstelle überhaupt funktioniert.

Wenn Schrottzeichen ankommen, gibt es ein elektrisches Potentialproblem.
Die V24-Schnittstelle benötigt +/- 12 V Pegel. Am PC klappen manchmal 
auch Pegel bis +/- 7V.
Entscheidend ist wohl die Ground-Leitung. Wenn es da 
Potentialunterschiede zwischen den angeschlossenen Geräten gibt, kann es 
bei niedrigen Spannungspegeln Schrott geben.
Versuche mal, das Netzteil am Laptop abzuhängen, so dass Laptop nur auf 
Batterie läuft. Dann die Masse (oder Ground) der beiden Geräte 
verbinden,
damit Laptop gleiches Potential wie externer Sender hat.
Notfalls mit Oszi die Pegel checken.
Wie man definiertes 0V-Potential an die Adapterkarte bringt, weiss ich 
auch nicht.

Bin kein echter 'Elektriker', deshalb meine evtl. ungenaue 
Ausdrucksweise.

Gast #593582
Lesenswert?

So, ich habe es heute rausgefunden.

MyRS232..DtrEnable  = True

Ich hatte das auf false stehen. Jetzt läuft es :-)
Das war mal wieder eine schwere Geburt, dafür konnte ich mich aber um so 
mehr freuen......

Vielen Dank an euch!

Gruß
Christoph
Gast #673350
Lesenswert?

Ich habe derzeit ein gleiches problem wie du. nur das mein rs232 adaptor
am usb bus sitzt. und ich die software im alten powerbasic schreibe.

nun zum problem.
ich habe zwei adaptor und drei Laptop.

so auf einem Labtop laeufen beide adaptor und auch die Software.
auf den anderen beiden Labtop bekommt eine nur receive aber kann nicht 
senden. Der andere Labtop da geht weder recceive noch transmitt.

alle Labtop haben XP Pro und alle in der selben version.

was kann das sein?

Was meintest du mit

MyRS232..DtrEnable  = True

wo ist das zum einstellen?

kann sein das da bei mir noch solch probleme sind.

danke fuer die antwort!

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