标题:qt 串口通信 如何把缓冲区的数据全部放进另一个变量?
作者:lacuss
日期:2013-01-26 13:21
内容:
请问qt如何增加一个接收从串口读来数据的缓冲区,然后判断数据是否已经接收完毕,完毕时才返回说有改缓冲区的值给后面的函数处理? QByteArray temp = myCom->readAll();//读取串口缓冲区的所有数据给临时变量temp请问qt中怎么将源源不断读进来的temp循环放进放进一个数组,使后面的函数可以处理这一长串的数据? 比如我输入:1234567readAll()可能分几次才读完,寄temp=12 temp=34 temp=567如何得到完整的temp_2=1234567?给后面的函数处理?
#1 回 楼主(lacuss) 的帖子 [lacuss 01-26 13:22]
怎么没有回车- -再发一遍
请问qt如何增加一个接收从串口读来数据的缓冲区,然后判断数据是否已经接收完毕,完毕时才返回说有改缓冲区的值给后面的函数处理?
QByteArray temp = myCom->readAll();//读取串口缓冲区的所有数据给临时变量temp
请问qt中怎么将源源不断读进来的temp循环放进放进一个数组,使后面的函数可以处理这一长串的数据
比如我输入:1234567
readAll()可能分几次才读完,即temp=12 temp=34 temp=567
如何得到完整的temp_2=1234567?给后面的函数处理?
#2 [realfan 01-26 20:54]
要有个标志或判断标准,知道什么时候接收 完全
可以这样:
QByteArraybuffer;
while(未达到条件)
{
buffer.push_back(myCom->readAll());
//可以休眠一会
}
跳出循环后,buffer的内容就完整了
#3 [心竹园长 05-03 21:04]
好棒~