大神求助.!Qt串口单片机通信接收到的为啥是乱码...该怎么写啊???急急急急急急!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大神求助.!Qt串口单片机通信接收到的为啥是乱码...该怎么写啊???急急急急急急!相关的知识,希望对你有一定的参考价值。

windows下qt与单片机串口通信 设的是 9600波特率 收到的时空值 在textbrowser里什么也不显示 其他波特率显示的都是乱码(虽然我知道这句话没什么用,我只是想证明它是收的到的)...求解
void Widget::read_mycom()

ui->label_8->setText("Reading... ...");
qint64 n = mycom->bytesAvailable();
if(n>=8)

QByteArray temp = mycom->readAll();
QString myStrTemp;
myStrTemp = temp;
ui->textBrowser->insertPlainText(myStrTemp);

求解啊求解....不知道是不是编码的问题 谁会啊 给指点一下 拜托了 万分感谢

单片机的串口频率是多少 应该和qt 程序保持一致追答

如果一致的话 还是乱码就说明是编码格式的问题

在qt 程序中设置编译编码格式

追问

波特率是一样的 在调成不一样的时候是乱码 一样的时候是空值啊 什么也不显示

追答

空值的话 你把大于等于8的条件去掉 试一下有什么现象

什么现象?

亲 在线等啊

追问

一样还是空值 刚去吃了个饭 q吧1564340476 没财富了

追答qint8 outChar = 0;
out >> outChar;
QString str = QString("%1").arg(outChar&0XFF,2,16,QLation1Char(\'0\'));

 这是16进制转化成字符串 你看看有没有帮助。。。我也是初学

参考技术A 设4800波特率,还有16进制发送的要勾上,试试。 参考技术B 收到了十六进制数据,转换即可追问

其实问题就是……怎么转换…

AT89C51单片机进行多机通信等问题求教大神!!明天考试!!在线高分求高人

AT89C51单片机进行多机通信时常采用主从结构,它的特点是什么?应如何连接?如何实现主从结构式的多机通信!!求教高人啊。。。加分!

51单片机多机通信建议不用串口。
因为串口只管发送和接收数据,当主机发送一个数据时,从机的串口都会接收这个数据,从而多机通信的意义就没有了。
建议使用IIC通信协议,因为IIC通信方式首先是要发送从机地址的,而在总线上的每一个从机都会验证这个地址,若是自己的地址,此从机就会准备接收数据,不是自己的地址就会关闭数据接收。具体可参考IIC通信协议。
或者你可以使用串口,但是发送的第一个数据必须是地址,而且每一个从机都要自己去编写地址验证函数,从而来模拟IIC通信协议。
希望我的回答能帮助到你。
参考技术A 要是51的话,你去看一下串行口那一章啊,里面有介绍到SCON寄存器,介绍了一下多机通信的实现过程。

大学的东西,应该不会考太难,无非就是从书上出点题目,你去看一下串口通信那章,大概是讲设置波特率那章,忘记了,挺遥远的事情。
参考技术B 你这个多机通信是有线的还是无线的呢!是TCP吗?需要TCP模块还是RF无线模块实现主从多机通信的啊?说的不清楚啊!追问

题目就这么多啊。。没有那么专业。。就是我们大学的考试题。。明天就要考试了。。。求解答

追答

这就不好说了!不知道你们所谓的主从指的是哪方面的主从!

参考技术C 问清楚点 不要问的那么宽泛

以上是关于大神求助.!Qt串口单片机通信接收到的为啥是乱码...该怎么写啊???急急急急急急!的主要内容,如果未能解决你的问题,请参考以下文章

求助:很急!关于STC 8位单片机上电后,无法进入串口接收中断的问题

串口通信接收区出现多余的乱码怎么解决

求助,stm8s103串口接收中断进不了

stm8用串口通信,数据发不出去

单片机模拟串口通讯,将串口接收到的数据原样发送,收到的数据长度不同。怎样判断数据接收完毕?

关于QT串口编程与单片机通信的问题,单片机为STM32