Forum: PC-Programmierung RS 232 in VB Input


von saschisch (Gast)


Lesenswert?

Hallo Leute!

Ich habe ein Problem: Beim Einlesen der RS 232 in Vb funktioniert
folgendes: ICh erhalte die richtigen Daten, aber nach einer gewissen
Zeit <--> gewissen Anzashl an Daten erhalte ich jedes mal einen
BLUESCREEN (böse Sache). Der code ist:

mscomm1.portopen=true
Mscomm1.INputlen=15
Mscomm1.inputmode=comInputModeText
buffer=Mscomm1.input
Mscomm1.portopen =false


Das ganze steht in einem Timer. Der Timer aktualisiert alle X
MilliSekunden (variabel)

Bitte sagt mir welchen Grund es haben kann, dass die Schnittstelle
einen Bluescreen verursacht.

Ps.: Bei Hyperterminal funktioniert es hervorragend.

MfG

Saschisch

von FHler (Gast)


Lesenswert?

Hi,
Wieso ein Timer? Mach es mit dem OnComm Event.

Willst du ein Live Stream wie beim Hyperterminal oder versetzt die
daten ausgeben!?



Gruss

von saschisch (Gast)


Lesenswert?

Ich will einen Livestream.

Welche vorschläge hast du?

von FHler (Gast)


Lesenswert?

Folgende einstellung im Mscomm Objekt vornehmen:

InBufferSize=1
InputLen=0
Inputmode=comInputModeText
RThershold=1

du musst natürlich irgendwo noch Mscomm1.portopen=true ausführen

und halt deine Baud,stopbits.... einstellen

Dies in OnComm - Ereigniss:

switch (Mscomm1->CommEvent)
{
  case 2:     //Receive Byte
          //Anweisung
        break;

}

dieses event wird immer aufgerufen wenn ein byte empfangen wird.


Ich arbeite in C++.Net (3.0) auch mit diesem Objekt, funktioniert
einwandfrei ohne Blue Screen.

Gruss

von Christian K. (chrisk)


Lesenswert?

Hallo!
Auch ich habe ein Problem das den Datenempfang in Visual Basic
betrifft.

Das Problem ist folgendes: Ich sende mit einem PIC Datenstrings die
jeweils mit \r\n abgeschlossen werden. Die Daten werden dann über
OnComm empfangen und in einer Textbox dargestellt (multiline ist an).
Das Problem ist nun dass VB den Zeilenumbruch nicht erkennt und
stattdessen nur zwei vertikale Balken darstellt.
Bin für jede Hilfe dankbar.

von Marian Bosse (Gast)


Lesenswert?

Du solltest an dein datenpaket ende noch ein CR (chr(13)) anhängen. Dann
sollte es gehen.

mfg Bossi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.