gpt4 book ai didi

c++ - Qt 串行写入函数的输出错误/太少

转载 作者:行者123 更新时间:2023-11-28 06:27:38 27 4
gpt4 key购买 nike

我正在尝试将之前使用 serial->write... 函数从 GUI 读取的 7 个变量发送到我的微 Controller 。

我在我的微 Controller 上写了一个小程序,如果有输入,它就会使 LED 闪烁。但它只显示 5 个输入。

我认为可能是我的微 Controller 不够快,我停止了 Qt 程序,但那没有用。所以我不明白为什么输入太少。

此外,我使用 qDebug() << 函数在控制台中打印出我发送到我的微 Controller 的内容,但这仅显示我发送的字符数(例如,如果我发送 500 qDebug() 显示“3”)。所以我想我的转换也有问题。

这是我的代码:

 //conversion from QString into const char*
q_bauteillaenge = (ui->Bauteillaenge_e->text());
q_messintervall_vert = (ui->Messintervall_vert_e->text());
q_anz_inkrem_vert = (ui->Anzahl_Inkremente_vert_e->text());
q_inkrem_laenge_vert = (ui->Inkrementlaenge_vert_e->text());
q_anz_messungen_vert = (ui->Anzahl_Messungen_vert_e->text());
q_abs_messungen_vert = (ui->Abstand_Messungen_vert_e->text());

a_bauteillaenge = q_bauteillaenge.toUtf8();
a_messintervall_vert = q_messintervall_vert.toUtf8() ;
a_anz_inkrem_vert = q_anz_inkrem_vert.toUtf8() ;
a_inkrem_laenge_vert = q_inkrem_laenge_vert.toUtf8() ;
a_anz_messungen_vert = q_anz_messungen_vert.toUtf8();
a_abs_messungen_vert = q_abs_messungen_vert.toUtf8();

bauteillaenge = a_bauteillaenge.constData();
messintervall_vert = a_messintervall_vert.constData() ;
anz_inkrem_vert = a_anz_inkrem_vert.constData() ;
inkrem_laenge_vert = a_inkrem_laenge_vert.constData() ;
anz_messungen_vert = a_anz_messungen_vert.constData();
abs_messungen_vert = a_abs_messungen_vert.constData();


//Sending
qDebug() << serial->write("1");
serial->write("\n");

qDebug() << serial->write(bauteillaenge);
serial->write("\n");

qDebug() << serial->write(messintervall_vert);
serial->write("\n");

qDebug() << serial->write(anz_inkrem_vert);
serial->write("\n");

qDebug() << serial->write(inkrem_laenge_vert);
serial->write("\n");

qDebug() << serial->write(anz_messungen_vert);
serial->write("\n");

qDebug() << serial->write(abs_messungen_vert);
serial->write("\n");

我的错在哪里?

问候

最佳答案

  1. 我会研究 UTF-8 编码。您确定您的微 Controller 代码不包含 UTF-8 字节吗?

  2. led 如何响应传入数据取决于微 Controller 的代码。也许您可以添加一些微 Controller 代码。

  3. serial->write 函数返回实际写入的字节数。所以它按预期工作,但你期望另一个返回值。阅读关于这个的文档: http://doc.qt.io/qt-5/qiodevice.html#write

关于c++ - Qt 串行写入函数的输出错误/太少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28235612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com