Пишу в QtCreatore, вот такая вот функция main
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MinotourGUI w;
QextSerialPort* port = new QextSerialPort("COM1");
port->setBaudRate(BAUD115200);
port->setFlowControl(FLOW_OFF);
port->setDataBits(DATA_8);
port->setParity(PAR_NONE);
port->setStopBits(STOP_1);
port->open(QIODevice::ReadWrite);
if(!(port->lineStatus() & LS_DSR))
{
QMessageBox::information(0,"Warning","Device is not turned on");
}
transmitter* tm = new transmitter(port);
tm->connect(port, SIGNAL(readyRead()), tm, SLOT(recive()));
SerialThread * thread = new SerialThread(port);
thread->start();
w.show();
return a.exec();
}
вот сам класс:
class transmitter : public QObject
{
Q_OBJECT
QextSerialPort * port;
public:
transmitter(QextSerialPort * port, QObject* parent = 0);
quint8 GetControlSum(QByteArray, int);
void WriteCom(char*);
private slots:
void recive();
};
void transmitter::recive()
{
int bytesavailable = port->bytesAvailable();
char* data = new char[bytesavailable];
port->read(data, bytesavailable);
QFile file("file.dat");
file.open(QFile::WriteOnly);
file.write(data, bytesavailable);
file.close();
}
И теперь кто-нибудь подскажите, почему у меня не получается ничего получить в файл?
Подозреваю что сигнал/слот не работают?
Если же просто методом воспользоваться, данные читаются и записываются в файл!