CSDN论坛 > 移动开发 > Qt

新手想使用Qt做一个串口接收程序,出现好多错误 [问题点数:40分]

Bbs1
本版专家分:0
结帖率 0%
CSDN今日推荐
Bbs2
本版专家分:169
Bbs2
本版专家分:375
Bbs1
本版专家分:0
Bbs3
本版专家分:999
匿名用户不能发表回复!
其他相关推荐
《Qt串口通信》--实时显示接收的数据
为了能在接收到串口发送的数据便即时显示在文本框中,首先要在连接串口时绑定信号和槽,即将serialport的signal(QIODevice::readyRead)与this的槽函数SePort::ReadCom连接在一起,这样,一旦serialport的准备读取数据信号过来时,就会调用自定义的ReadCom函数,把缓存区的数据读取到私有成员变量m_bReceiveData中。为了能在界面上显示,
QT解决串口数据接收不完整问题
使用QT编写串口上位机时,串口通信的过程中有时会遇到数据接收不完整的问题,下位机一次发送的数据可能会分为两次甚至多次接收,这样就导致数据接收不完整,解决方案如下:void MainWindow::Read_Data()//读取数据函数,只要串口中有数据,就会进入这个函数 { static QByteArray buf;//QByteArray 类是定义一个字节数组(char *) 一定...
QT串口接收十六进制
前段时间写了个“QT串口发送十六进制”,为了对应,现在来个下部剧集。 我要接收的数据比较长,“01 03 24 01 19 …………00 D5 F6”中间省略一大截,为将这些数据接收到一个字符串中,参考QT论坛里的文章,总结如下: QByteArray tmp; if(highCom->bytesAvailable() >= 41) { tmp =
Qt串口接收数据长度不稳定问题
最近在做一个实时接收数据的项目,需要每2ms接收下位机发来的两帧数据,算是串口高速接收。 在使用的过程中,发现串口接收的数据长度不稳定,有时长有时短。 代码如下: connect(serial,SIGNAL(readyRead()),this,SLOT(serial_receive())); 然后在槽函数里 serial->read(all); 发现读出来的数据竟然远远超
Qt5.2的串口类接收不到串口数据,和事件机制
背景:最近瞎看Qt的东西,然后试了一下Qt自带的串口类。
QT下写的界面程序,可以实现串口和UDP的字符串和16进制收发
用qt实现的界面程序,实现串口和UDP的字符串和16进制的收发以及qt界面美化的方法。 更详细的介绍及界面展示,请参考笔者博客,在CSDN上搜索“QT学习过程及简单串口和UDP通信demo开发过程及代码分享”。
树莓派3B在Qt下使用串口发送数据
一、解除串口占用 使用putty的时候神奇的发现树莓派竟然是支持serial进行操作。试了试,和在ssh下使用没有多少区别,速度也很快。 树莓派的串口主要也就是被这个占用了,配置释放之后才能使用它来进行串口通信。在命令行里输入如下指令:sudo raspi-config在如下出现的界面中选择 5 选择“P6 Serial”,然后把它关闭了,即Disable。 打开/boot/config
串口通讯中出现的错误(1)
 问题1: 在做串口接收接收中断时,有这么一个现象,当接收到数据后,进入中断,如果再次发送的话,就进不去中断了,并且程序阻塞住了?为什么呢 源码如下:   原因如下:在数据寄存器和数据总线之间有一个移位寄存器,接收数据是先把数据放在移位寄存器中,如果没有读取移位寄存器里面的数值的话,就不能继续接收数据了,因此,在接收到一次数据后,如果不读取其中的数据的话就会阻塞。 所以 只要将注释部分的数据读取出...
Qt (六) -- Qt5.5.1实现通用串口程序
最近教研室在做高速相机,通过图像采集卡和自己做的高速相机链接,从而采集和收集图像。图像采集卡和高速相机是通过Cameralink连接,其中也包含了相机和图像采集卡之间的串口的硬件借口,在老师的要求下,实现了两种串口程序,一种是通过cameralink的API实现串口数据的传输,一种则是通过USB转RS422的转接器,实现对高速相机的寄存器的读写。本文主要介绍了通过Qt的QSerialPort和QS
解决Qt5中的QSerialPort分多次接收串口数据的问题
问题:QSerialPort的readyRead()信号,只要有数据就抛出,这就导致一条数据分多次抛出。由于正常的数据没有固定的开头和结尾,这就导致无法获取正常的一组数据 解决思路:增加接收延时功能,把多次读取的数据保存到缓冲区,延时结束,一次性读取数据
关闭