Qt串行写入功能的输出错误/太少
Wrong/ too few output from Qt serial write function
我正在尝试发送我之前使用串行>写从 GUI 读取的 7 个变量... 功能到我的微控制器。
我在微控制器上编写了一个程序,如果有输入,它会闪烁 LED。但它只显示 5 个输入。
我猜可能是我的微控制器不够快,我停止了Qt程序,但这不起作用。所以我不明白为什么输入太少。
此外,我使用 qDebug() <<函数在控制台中打印出我发送到微控制器的内容,但这只显示我发送的字符数(例如,如果我发送 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");
我的缺点在哪里?
问候
-
我会研究 UTF-8 编码。您确定您的微控制器代码不包括 UTF-8 字节吗?
-
LED 如何响应传入数据取决于微控制器的代码。也许您可以添加一些微控制器代码。
-
串行>写函数返回实际写入字节的计数。因此,它正常工作,但您希望返回另一个值。阅读有关此文档的文档:http://doc.qt.io/qt-5/qiodevice.html#write
相关文章:
- 输出错误,问题是找到总和5000位数字cpp
- 使用复制构造函数的程序输出错误
- 异或字符串加密/解密输出错误
- 在linux上使用g++输出错误,在windows上更正
- 使用递归函数 (c++) 将长字符串转换为整数时输出错误
- ECDSA 密钥对生成输出错误
- fscanf() 输出错误的值
- 输入 1024 后十进制到二进制转换的输出错误?
- 输出错误命令的条件语句
- cuSparse (cusparseDcsrgemm) 中的矩阵乘法输出错误的结果
- 为什么 du -sh 输出错误大小的内存映射文件
- VS2017 的输出错误,但 mingw 有效
- 如何使FFMPEG C 代码不输出错误消息
- 乘以时输出错误.这是我编译器中的错误吗?C
- 输出错误:两个不同编译器上的不同输出:Prime Cryptarithm USACO
- 为什么输出错误崩溃
- C++输入/输出错误
- 尝试用 c++ 制作一个简单的加法器.编译成功,但输出错误
- 当我使用此合并排序代码运行时,输出错误
- 递归功能输出错误的值