Hallo Leute,
ich versuche ein GSM-Modem mit AT-Befehlen über die RS-232 Schnittstelle anzusprechen. Um die COM-Schnittstelle anzusprechen benutze ich die Klasse QExtSerialPort.
Dies funktioniert auch in der Regel. Jedoch muss ich bevor ich einen AT-Befehl sende einmal Hyper Terminal starten und wieder beenden (ich tippe nichts in die Konsole ein). Danach kann ich alle AT-Befehle über mein selbst erstelltes Programm erfolgreich an das Modem senden, bis ich den Computer neustarte. Dabei kann ich den Port beliebig oft schließen und öffnen.
Es muss also irgendetwas beim erstmaligen Port öffnen bei Hyper Terminal nach einem Windows Neustart anders laufen, da ich schon rausgefunden habe, dass der Port automatisch geöffnet wird, wenn Hyper Terminal startet. Hat jemand ein ähnliches Problem mit der Klasse.
Bisher öffne ich den Port folgendermaßen:
m_pSerialport = new QextSerialPort("COM1");
m_pSerialport->setBaudRate (BAUD2400);
m_pSerialport->setDataBits(DATA_8);
m_pSerialport->setStopBits(STOP_1);
m_pSerialport->setFlowControl(FLOW_OFF);
m_pSerialport->setParity(PAR_NONE);
if(m_pSerialport->open(QextSerialPort::ReadWrite))
{
//erfolgreich geöffnet
}
QExtSerialPort funktioniert nur mit Hyper Terminal
-
- Beiträge: 11
- Registriert: 6. April 2010 11:21
Versuch doch mal das Projekt QSerialDevice von http://fireforge.net/projects/qserialdevice
Dies tut besser als das QExtSerialPort.
Lass Dich nicht von der Version 0.2 abschrecken, das funktioniert gut.
Läuft in meiner Applikation.
Schaust Du auch hier: http://qtforum.de/forum/viewtopic.php?t ... ght=serial
Dies tut besser als das QExtSerialPort.
Lass Dich nicht von der Version 0.2 abschrecken, das funktioniert gut.
Läuft in meiner Applikation.
Schaust Du auch hier: http://qtforum.de/forum/viewtopic.php?t ... ght=serial
Linux, das längste Text-Adventure aller Zeiten