MFC如何实时保存串口数据到TXT

宁缺毋滥灬 2019-03-18 10:36:35
想设计一个程序,打开串口的时候能显示串口收到的数据,然后设置一个按钮,点下按钮后,创建一个TXT文件,然后将数据保存进去。需要用的定时器吗?
...全文
603 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶恭介叶恭介 2019-03-21
  • 打赏
  • 举报
回复
https://blog.csdn.net/cvbtvbwu/article/details/24694739,可以看一下这文章。

为什么要定时器,有数据来直接写文件
一条晚起的虫 2019-03-19
  • 打赏
  • 举报
回复
// 读取串口数据可以用定时器,或者另开线程。 // 按下按钮保存,把显示的内容写入txt就可。
schlafenhamster 2019-03-19
  • 打赏
  • 举报
回复
例子

// use ON_MESSAGE(a,b)
void CUload::OnCommNotify(WPARAM wParam,LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
int nLength;
BYTE abIn[6000];// for 115200 needs 4096 and more
DWORD totalrecv;
CString txt;
switch(wParam)
{
case 0:// from CommWatchCTS()
SetCTSIcon();
SetEvent(m_hPostEventRead);// tell watcher that CommNotify has been done
break;
case 1:// from CommWatchRead()
// append on each entry
CFile uldFile(UpLoadFileName,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
uldFile.SeekToEnd( );
if (m_bConnected)
{
if(nLength=ReadCommBlock(abIn,BUFLEN))// 38400 needs 1024
{ // save into file
if (!m_bStart)
{ // only 1st
m_bStart=1;
InforOut("Receiving "+UpLoadFileName);
}
uldFile.Write(abIn,nLength);
}
}
uldFile.Close();
// get total bytes received
m_uldINs.GetText(0,txt);
totalrecv=atol(txt.GetBuffer(40));
totalrecv+=nLength;
txt.Format("%d",totalrecv);
m_uldINs.ResetContent();
m_uldINs.AddString(txt);
if (nLength>128)
{
Animate();
// reset "time waiting"
m_Elapse.ResetContent();
m_Elapse.AddString("0 s");
}
// tell watcher that CommNotify has been done
SetEvent(m_hPostEventRead);
break;
}
}
宁缺毋滥灬 2019-03-19
  • 打赏
  • 举报
回复
我现在的做法是,点击按钮,创建一个TXT,然后打开定时器进行数据保存,波特率9600,定时器设置10ms,每十个数据重复,这样的话,基本目的达到了,可是每次定位GPS的时候都要等好久出数据,二楼的意思是让我加一个EDIT标签,然后把数据显示在标签里,点击按钮,就把标签里的数据读出来,这样可以是可以,可是标签以后要取消啊
shen_wei 2019-03-19
  • 打赏
  • 举报
回复
只是单存的单击按钮保存,那就更简单,直接写txt文件。。

如果是一直保存数据的话,那就类似写日志那样。。有数据就保存!!

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧