我需要用ad卡采集数据,精度要求到几十微秒级,但是用timer控件根本达不到要求,请问各位高手,有没有什么办法?谢谢!

解决方案 »

  1.   

    不要想呐!在windows采用的事件驱动的工作模式下,根本不可能做到精确数据采集。
    VB控件中最大能做到毫秒级。我在工作中也使用了实时采样,精度要求0.1ms,最后只有使用dos 6。2系统加上borland c编程,在windows图形界面下使用了vb、vc等语言到不能实现,所以嘛,死心吧!兄弟!
      

  2.   

    Windows下不容易实现,一般的AD卡不是都提供DLL驱动,用DMA或INT方式来进行高速采集吗?
      

  3.   

    在windows下用高精度的定时器难道也达不到要求吗,我想在想调用winapi中的定时函数,不知道行不行?我使用的ad卡提供了dll,DMA\INT 是什么方式阿,我不明白,这两种方式难道都不在WINDOWS下实现吗?多谢指教,谢谢!!
      

  4.   

    我建议你使用苹果机,或者自己开发或买单片机(具备一定功能的微型计算机,不要采用WINDOWS系统),该计算机的功能只是为你的程序服务,你可以看一些关于工控机的资料,会对你有用。
      

  5.   

    我就是采用的无间断采集数据,采集过程中除了存数据,并没做任何处理,可是我看到的一篇文章上就是在window系统下做的,调用winapi函数,可以达到1、8um的精度!!但是我试了却不行
      

  6.   

    可以看看用多线程
    do 
       ...
    loop应该是机器越快精度越高。
      

  7.   

    现在又有人告诉我说采集卡的采集速度和软件定时没有什么关系,只跟数采卡本身有关,只要调用了它提供的dll文件,就会按照数采卡能够提供的频率进行采集,是这样吗?