Probleme mit Comport öffnen mit QextSerial
Verfasst: 18. Januar 2010 14:18
Moin,
ich probiere gerade, ein Gerät über die serielle Schnittstelle anzusprechen. Dafür probiere ich nacheinander alle vorhandenen Com-Ports zu öffnen, einen Befehl hin zu schicken, und wenn die richtige Antwort kommt, hab ich mein Gerät gefunden. Doch aus irgendwelchen Gründen möchte er den entsprechenden Port (Com16) nicht öffen. Hier mein Code:
Ich bekomme immer die Meldung "Could not connect", wobei ich mit einem normalen Terminalprogramm über den Port und die Einstellungen auf das Gerät zugreifen kann.
Ist da irgendwo ein Fehler, den ich nicht sehe?
Vielen Dank für Eure Hilfe, Ozzy
ich probiere gerade, ein Gerät über die serielle Schnittstelle anzusprechen. Dafür probiere ich nacheinander alle vorhandenen Com-Ports zu öffnen, einen Befehl hin zu schicken, und wenn die richtige Antwort kommt, hab ich mein Gerät gefunden. Doch aus irgendwelchen Gründen möchte er den entsprechenden Port (Com16) nicht öffen. Hier mein Code:
Code: Alles auswählen
PortSettings portSettings;
portSettings.BaudRate = BAUD115200;
portSettings.DataBits = DATA_8;
portSettings.Parity = PAR_NONE;
portSettings.StopBits = STOP_1;
portSettings.FlowControl = FLOW_OFF;
portSettings.Timeout_Millisec = 500;
QList<QextPortInfo> ports = QextSerialEnumerator::getPorts();
for (int i=0; i<ports.size(); i++) {
if (DEBUG) printf("\r\n port name: %s\r\n", ports.at(i).portName.toLocal8Bit().constData());
port = new QextSerialPort( ports.at(i).portName, portSettings);
if ( !(port->open(QextSerialPort::ReadWrite) ) ) {
if (DEBUG) printf("Could not connect\r\n");
port->close();
continue;
}
...
}
Ist da irgendwo ein Fehler, den ich nicht sehe?
Vielen Dank für Eure Hilfe, Ozzy