查看完整版本: [-- qt 串口通信 如何把缓冲区的数据全部放进另一个变量? --]

QTCN开发网 -> Qt基础编程 -> qt 串口通信 如何把缓冲区的数据全部放进另一个变量? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

lacuss 2013-01-26 13:21

qt 串口通信 如何把缓冲区的数据全部放进另一个变量?

<DIV tar?>
<DIV id=read_tpc mb10?>请问qt如何增加一个接收从串口读来数据的缓冲区,然后判断数据是否已经接收完毕,完毕时才返回说有改缓冲区的值给后面的函数处理? <DIV mb10?> <DIV mb10?>QByteArray temp = myCom->readAll();  //读取串口缓冲区的所有数据给临时变量temp<DIV mb10?>请问qt中怎么将源源不断读进来的temp循环放进放进一个数组,使后面的函数可以处理这一长串的数据?<DIV mb10?> <DIV mb10?>比如我输入:1234567<DIV mb10?>readAll()可能分几次才读完,寄temp=12 temp=34 temp=567<DIV mb10?>如何得到完整的temp_2=1234567?给后面的函数处理?<DIV mb10?>

lacuss 2013-01-26 13:22
怎么没有回车- -再发一遍
请问qt如何增加一个接收从串口读来数据的缓冲区,然后判断数据是否已经接收完毕,完毕时才返回说有改缓冲区的值给后面的函数处理?

QByteArray temp = myCom->readAll();  //读取串口缓冲区的所有数据给临时变量temp

请问qt中怎么将源源不断读进来的temp循环放进放进一个数组,使后面的函数可以处理这一长串的数据

比如我输入:1234567

readAll()可能分几次才读完,即temp=12 temp=34 temp=567

如何得到完整的temp_2=1234567?给后面的函数处理?

realfan 2013-01-26 20:54
要有个标志或判断标准,知道什么时候接收 完全

可以这样:
QByteArray  buffer;
while(未达到条件)
{
      buffer.push_back(myCom->readAll());
      //可以休眠一会
}
跳出循环后,buffer的内容就完整了

心竹园长 2017-05-03 21:04
好棒~


查看完整版本: [-- qt 串口通信 如何把缓冲区的数据全部放进另一个变量? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled