Qt 串口接收数据变大写,加空格
2016-11-30 14:28
399 查看
串口接收数据
1、字符显示;
2、十六进制显示
void optical_app::my_readuart()
{
QByteArray requestData;
requestData = my_serialport->readAll();
if(!requestData.isEmpty())
{
if(ui->checkBoxHexShow->isChecked())
{
// ui->textEdit->append(tr(" ")+tr(requestData.toHex())); //Hex
QDataStream out(&requestData,QIODevice::ReadWrite); //将字节数组读入
while(!out.atEnd())
{
qint8 outChar = 0;
out>>outChar; //每字节填充一次,直到结束
//十六进制的转换
QString str = QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0'));
ui->textEdit->insertPlainText(" ");//每发送两个字符后添加一个空格
ui->textEdit->insertPlainText(str.toUpper());//大写
ui->textEdit->moveCursor(QTextCursor::End);
}
ui->textEdit->append(tr(" "));
}
else
{
ui->textEdit->append(tr(" ")+tr(requestData)); //char
}
}
requestData.clear();
}
1、字符显示;
2、十六进制显示
void optical_app::my_readuart()
{
QByteArray requestData;
requestData = my_serialport->readAll();
if(!requestData.isEmpty())
{
if(ui->checkBoxHexShow->isChecked())
{
// ui->textEdit->append(tr(" ")+tr(requestData.toHex())); //Hex
QDataStream out(&requestData,QIODevice::ReadWrite); //将字节数组读入
while(!out.atEnd())
{
qint8 outChar = 0;
out>>outChar; //每字节填充一次,直到结束
//十六进制的转换
QString str = QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0'));
ui->textEdit->insertPlainText(" ");//每发送两个字符后添加一个空格
ui->textEdit->insertPlainText(str.toUpper());//大写
ui->textEdit->moveCursor(QTextCursor::End);
}
ui->textEdit->append(tr(" "));
}
else
{
ui->textEdit->append(tr(" ")+tr(requestData)); //char
}
}
requestData.clear();
}
相关文章推荐
- QT串口接收十六进制数据在文本框中显示
- QT 的 串口接收的数据 QByteArray 类怎么得到16进制
- Qt5自带串口调试 --使用signal接收数据,自动侦测端口列表
- Qt从零开始制作串口调试助手-(第十章、串口接收数据处理)-Creator_Ly
- QT 串口接收不定长数据的各种不合格版本
- QT5 串口(com)通信_16进制数发送与接收以及接收数据提取
- Qt串口接收数据长度不稳定问题
- Qt中串口16进制发送和接收数据
- Qt5.2的串口类接收不到串口数据,和事件机制
- QT 串口接收的16进制数据转float
- Qt之串口编程--使用事件驱动来触发接收数据
- 使用Msp430的串口中断接收一包数据
- 串口接收数据及时返回问题(电能表测试的上位机应用程序)
- VC写串口通信遇到只能接收发送数据交替执行的情况
- net2.0下实现串口接收GPS数据读写(-)
- [VB.NET]串口接收过程中怎样将末尾3位字符数据去掉?
- vs 串口接收数据时 如果数据中含有中文 有时出现乱码的 解决
- 串口接收时丢数据问题解决方案
- 串口接收时丢数据问题解决方案
- linux多线程下打开串口发送和接收数据