Absturz bei "setPortName()"

Alles rund um die Programmierung mit Qt
Antworten
monet123
Beiträge: 8
Registriert: 28. Mai 2017 21:04

Absturz bei "setPortName()"

Beitrag von monet123 »

Hallo zusammen :)

ich habe ein kleines Problem. Ich arbeite mit Qt und Arduino.
Ich habe am Arduino einen Temperatursensor angeschlossen und die Werte
über eine kleine GUI in Qt anzeigen lassen. Hier klappt alles!

Nun habe ich einen Ultraschallsensor angeschlossen und in der Arduino GUI ( bzw.
am Seriellen Monitor werden die Wert angezeigt.
ABER, wenn ich nun auf das Arduino über den Port zugreifen
möchte stürzt mein Qt bei der Methode ab.

Code: Alles auswählen

arduino->setPortName(arduino_port_name);
Hier der Teilcode Ultraschallmessung

Code: Alles auswählen

    if(arduino_is_availabel)
    {
        arduino->setPortName(arduino_port_name);//HIER KLAPPT DAS IN DIESEM CODE NICHT. IM ANDEREN CODE 
        "TEMPERATURMESSUNG" KLAPPT DAS OHNE PROBLEME
        arduino->open(QSerialPort::ReadOnly);
        arduino->setBaudRate((QSerialPort::Baud9600));
        arduino->setDataBits(QSerialPort::Data8);
        arduino->setFlowControl(QSerialPort::NoFlowControl);
        arduino->setParity(QSerialPort::NoParity);
        arduino->setStopBits(QSerialPort::OneStop);
        QObject::connect(arduino, SIGNAL(readyRead()), this, SLOT(readSerial()));
        }
Vielleicht habt ihr ja eine Idee :)

Danke schon mal im Voraus!!!!

Gruß monet
monet123
Beiträge: 8
Registriert: 28. Mai 2017 21:04

Re: Absturz bei "setPortName()"

Beitrag von monet123 »

Hallo.

Hab es nun hinbekommen. Das Problem war echt trivial :roll:

Hab folgendes im Konstruktor vergessen

Code: Alles auswählen

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    arduino = new QSerialPort(this); <-- Das wurde unterschlagen!!!!
    ....
    }
    
:roll: :roll:

Gruß monet
Antworten