ming_ming_s
驱动牛犊
驱动牛犊
  • 注册日期2002-07-30
  • 最后登录2003-04-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:916回复:1

如何在VXD中实时的将DMA缓冲区中的数据保存到文件?

楼主#
更多 发布于:2003-03-03 22:52
    现在正在做一PCI采集卡的驱动(VXD),数据流量为:4KB/400us=10MB/s。数据的流向为:每次信号到来时(400us/次)将数据(4KB/次)读入冲区内,DMA传送完成后立刻(中断实现)回调应用程序中包含fwrite()的将缓冲区的数据保存到文件中。
   可是现在遇到了如下问题:用示波器可以看到每次DMA传送都及时完成了,从启动到完成费时不到150us,可是却并没有及时(在剩下的250us时间内)将每次DMA得到的数据保存到文件中。
   请教各位大虾,是不是由于WIN32的多任务、非实时性所导致的?那么如果要实现上面的保存功能,应该采用什么样的方法?急,非常急,请各位帮帮忙,谢谢,非常感谢。 :P
llhai
驱动牛犊
驱动牛犊
  • 注册日期2002-05-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-03 23:36
可能是中断频率过高以至于系统无法及时响应。建议开大缓冲区,在积累了一定数量数据后再一次性写入文件,从而降低中断的频率。
游客

返回顶部