[英]sending a string from QT to Arduino
我正在嘗試從qt應用程序向arduino發送一個字符串,起初我發送了一個簡單的字符並且它起作用了,但是當我嘗試從Linedit
獲取一個字符串並通過串行端口將其發送到arduino時,它顯示了一個錯誤:
erreur:沒有匹配的函數來調用QSerialPort :: write(QString&)
這是代碼
void MainWindow::on_pushButton_clicked()
{
QString envoi ;
envoi = ui->lineEdit->text();
/* ui->label->setText(envoi); */
serial.setPortName("com17");
serial.setBaudRate(QSerialPort::Baud9600);
serial.setDataBits(QSerialPort::Data8);
serial.setParity(QSerialPort::NoParity);
serial.setStopBits(QSerialPort::OneStop);
serial.setFlowControl(QSerialPort::NoFlowControl);
serial.open(QIODevice::ReadWrite);
serial.write(envoi);
}
QSerialPort
提供了三種write
方法,所有這些方法均從QIODevice
繼承
qint64 QIODevice::write(const char * data, qint64 maxSize)
qint64 QIODevice::write(const char * data) // equivalent to QIODevice::write(data, qstrlen(data));
最后
qint64 QIODevice::write(const QByteArray & byteArray)
您有幾種方法可以進行寫調用,對我而言,最簡單的方法似乎是
serial.write(envoi.toUtf8());
使用
QByteArray QString::toUtf8()
您還可以使用諸如
serial.write(envoi.toStdString.c_str() );
然后將使用write(const char * data)
方法。
讓我知道是否有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.