Seite 1 von 1

Einlesen nur nach Benutzung vonHyperTerminal möglich(gelöst)

Verfasst: 18. November 2009 04:57
von Thorvga
Hallo,

mit viel hin und her habe ich es geschafft eine COM-Port zu öffnen und auch die Signale rauszulesen.
Die Einstellungen sind fix gewählt:
Bits pro Sekunde 9600
Datenbits 8
Parität keine
Stopbits 1
Flusssteuerung Hardware

Das komische bzw interessante, aber zur Zeit nicht erfreuliche Effekt ist, dass mein Programm die vom Scanner eingelesenen Barcodes genau dann erst richtig ließt, wenn ich mit dem Hyperterminal einmal die Verbinsung aufgebaut habe. Danach funktioniert es super bis ich den PC runterfahre. Wenn ich ihn hochfahre will kein Programm keine anständigen Werte erhalten, aber wenn ich HyperTermin connecte und danach auch schließe, dann plötzlich schon ...

Daher vermute ich, dass wohl noch eine kleine Einstellung fehlt?
Also als Quellcode hab ich:

Code: Alles auswählen

port = new QextSerialPort("COM1");
    port->setBaudRate(BAUD9600);
    port->setFlowControl(FLOW_OFF);
    port->setDataBits(DATA_8);
    port->setStopBits(STOP_1);
    port->setParity(PAR_NONE);
    port->open(QIODevice::ReadOnly)
Kann mir da vielleicht einer helfen?
Danke für euer Bemühen.

Gruß
Thorvga

Verfasst: 18. November 2009 09:35
von RavenIV
Versuch mal, erst den Port zu öffnen und dann erst Baudrate und die anderen Parameter zu setzen.

Als kleiner Tip noch:
Schau Dir doch als Ersatz für QextSerialPort das QSerialDevice mal an:
http://fireforge.net/projects/qserialdevice/
Lass Dich nicht von der Versionsnummer abschrecken. V_0.1.0 läuft bei mir stabil.

Verfasst: 18. November 2009 13:58
von kuzulis
Sie können versuchen, die neueste Version aus dem SVN-Nutzung
http://fireforge.net/snapshots.php?group_id=199

PS: Es traten bei kleinen Änderungen, aber die Dokumentation ist noch nicht fertig. Ich glaube, es ist nicht kritisch für Sie:)

Verfasst: 18. November 2009 16:57
von Thorvga
Hallo,

ich bedanke mich bei Ihnen.
Der Hinweis, zuerst den Port zu öffnen und anschließend die Parameter zu setzen hat mich auch zur Lösung geführt, so dass mein Programm fertig gestellt werden konnte.
Hätte nicht gedacht, dass dies eine solche Auswirkung haben kann. Ich habe das Beispiel einfach aus der Internet genommen und bis auf die Kleinigkeit lief es ja auch.

Ich bedanken mich.

Gruß
Thorvga