标题:请教,如何把串口接收的数据定时保存在txt文件中?
作者:jia_xuan
日期:2017-02-27 18:53
内容:
做了一个串口接收小软件,接收电压和温度,通讯和显示都正常,现在要增加一个定时保存的功能,每秒存一次接收的数据,写到txt文件中,我知道要用到QTimer,QFile,QTextStream这些,我在网上查到的都是手动存储一次的方法,比如:
QString tempData=ui->txtDataHex->toPlainText();
if (tempData==""){return;}//如果没有内容则不保存
QDateTime now=QDateTime::currentDateTime();
QString name=now.toString("yyyyMMddHHmmss");
QString fileName=name+".txt";
QFile file(fileName);
file.open(QFile::WriteOnly | QIODevice::Text | QIODevice::Append);
QTextStream out(&file);
out
#1 [洗洗睡咯 02-27 22:06]
主函数里做QString tempData=ui->txtDataHex->toPlainText();
if (tempData==""){return;}//如果没有内容则不保存
QDateTime now=QDateTime::currentDateTime();
QString name=now.toString("yyyyMMddHHmmss");
QString fileName=name+".txt";
QFile file(fileName);
file.open(QFile::WriteOnly | QIODevice::Text | QIODevice::Append);
QTextStream out(&file);
定时器函数里写
#2 [核心科技 02-27 22:08]
我做过这个解决方法如下:假设你10ms保存一组数据,那么你保存到txt文件中数据的时间过长,则文件过大,则会有时间误差。你从开始创建一个文件然后开始计数,每保存一组计数值+1,假设一个文件你保存1000组,则当计数值到了999的时候,当前文件关闭,重新创建一个文件。
我的问题就是这样解决的。
#3 [流落地球 10-10 10:03]