找回密码
 立即注册
收起左侧

串口写入十六进制数据

4
回复
6509
查看
[复制链接]
累计签到:22 天
连续签到:1 天
来源: 2016-12-15 09:47:47 显示全部楼层 |阅读模式
1Qter豆
void Dialog::on_BtnSend_clicked()
{    if(true==misOpen)  
{     
   mserialport.write(ui->Tedtsend->toPlainText().toStdString().c_str());   
}
}
这是我往串口写入数据的函数,请问怎么能把数据类型换成十六进制?

最佳答案

查看完整内容

QString text; QByteArray data,data_hex; text=ui->Tedtsend->toPlainText(); data=text.toLatin1(); data_hex=data.toHex(); mserialport.write(data_hex);
回复

使用道具 举报

累计签到:9 天
连续签到:1 天
2016-12-15 09:47:48 显示全部楼层
QString text;
QByteArray data,data_hex;
text=ui->Tedtsend->toPlainText();
data=text.toLatin1();
data_hex=data.toHex();
mserialport.write(data_hex);
回复

使用道具 举报

累计签到:9 天
连续签到:1 天
2016-12-15 10:30:31 显示全部楼层
把你Tedtsend的QString类型内容转成QByteArray类型,再用toHex()方法。
回复

使用道具 举报

累计签到:22 天
连续签到:1 天
2016-12-15 10:49:21 显示全部楼层
xus 发表于 2016-12-15 10:30
把你Tedtsend的QString类型内容转成QByteArray类型,再用toHex()方法。

能不能说详细点?
本人初学者,谢谢
回复

使用道具 举报

累计签到:22 天
连续签到:1 天
2016-12-15 11:26:15 显示全部楼层
xus 发表于 2016-12-15 10:56
QString text;
QByteArray data,data_hex;
text=ui->Tedtsend->toPlainText();

嗯,我试一下,要先转换成拉丁然后再转换成16进制啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了