Voor een applicatie gebruik ik qextserialport in combinatie met de QT GUI. Het is een vrij simpele applicatie:
Op het moment dat ik de comport eerst test met Hyperterminal dan leest de applicatie de data goed in. Is de computer gereboot, en ik open eerst de applicatie dan krijg ik alleen maar garbage. Als ik de applicatie dan sluit en Hyperterminal open dan werkt de applicatie daarna weer goed.
Ik heb het gevoel dat Hyperterminal een initiatiesequentie uitvoert welke ervoor zorgt dat de poort leesbaar is.
Iemand enig idee? De settings staan verder goed, geen flow control etc (zo staat het ook een HT).
C++:
Het apparaat dat aan deze compoort zit geeft periodiek data door. Welke afgehandeld wordt door dit slot:1
2
3
4
5
6
7
| port1 = new QextSerialPort("COM1", QextSerialPort::EventDriven); port1->setBaudRate(BAUD9600); port1->setFlowControl(FLOW_OFF); port1->setParity(PAR_NONE); port1->setDataBits(DATA_8); port1->setStopBits(STOP_1); port1->open(QIODevice::ReadWrite); |
C++:
Vervolgens ga ik dan met buf1 aan de slag met een aantal bewerkingen.1
2
3
4
5
6
7
8
9
10
| void MainWindow::receive() { char data[1024]; QTextStream out(stdout); out << "data received: "; int bytesRead = port1->read(data, 1024); data[bytesRead] = '\0'; buf1.append(data); } |
Op het moment dat ik de comport eerst test met Hyperterminal dan leest de applicatie de data goed in. Is de computer gereboot, en ik open eerst de applicatie dan krijg ik alleen maar garbage. Als ik de applicatie dan sluit en Hyperterminal open dan werkt de applicatie daarna weer goed.
Ik heb het gevoel dat Hyperterminal een initiatiesequentie uitvoert welke ervoor zorgt dat de poort leesbaar is.
Iemand enig idee? De settings staan verder goed, geen flow control etc (zo staat het ook een HT).
Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!