多线程实时数据采集MFC VISUAL C++ /C++

本文探讨了在MFC中利用C++进行实时数据采集的方法,包括使用定时器和多媒体定时器。介绍了SetTimer函数用于设置定时器,以及其在多线程和高精度实时采集中的限制。提出使用多媒体定时器timeSetEvent以提高定时精度和事件处理的及时性。
摘要由CSDN通过智能技术生成

 

美国国家仪器公司为用户提供了许多高性能、高速度、高分辨率的数据采集卡,而与之接口的软件大多采用

 

Labview,Labview是一种图形化编程软件,你只需拖动控件到容器,使用起来确实比较方便。但用户无法知

 

道底层的东西,这样针对具体的应用,还要自己去理解封装得很深的函数或程序,费时、费力。因此,

c++/MFC还是一种

 

比较好的选择。如何在MFC中实现实时数据采集呢? 首先,得有定时器,定时器在指定的时间内向窗口发送

 

WM_TIMER消息,用户在消息处理函数里面完成数据采集和直观的图形或数值实现。设置定时器很简单,只需

 

简单的调用Settimer(1,100,NULL),消息映射为OnTimer()函数。但实际上,大型的程序设计一般不会采用

 

这样的方法,而是把数据采集和图形显示放到一个DLL里面,

,但如何在采集完数据后,发消息给视图类,以便视图类把数据以需要的格式显示出来,

 

曾经尝试发送用户自定义消息,但发现在视图类接收不到该用户自定义消息。因此,眼前要解决的问题关键

 

在于文档对象需要定时连续地采集数据,然后通知多个视图类以不的格式处理和显示这些数据。在文档要实

 

现有规律连续数据采集,需要有个定时器事件。

定时器事件通常通过调用UINT SetTimer(
  HWND
hWnd,              // han

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值