hothand
驱动牛犊
驱动牛犊
  • 注册日期2002-01-11
  • 最后登录2009-02-05
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:825回复:1

来来来(40分)

楼主#
更多 发布于:2003-07-12 10:25
一个数据采集PCI卡(win2k系统),行同步信号作为中断源,每一行产生一个中断最短周期1ms,硬件上有Fifo最多可以存贮5-6行的数据,现在需要驱动程序每来一次或n次中断,向应用程序发送事件信号,然后,应用程序读取采集的数据,数据实时采集,不能丢失。
(不知道这种思路可否实现)

目前,我在应用程序中创建了事件,将它传给驱动,驱动程序在中断的DPC中调用事件的Pulse()函数来设置事件;同时应用程序开一个线程监视WaitForSingleObject这个事件,目前卡开始工作以后,应用确实收到了事件,但是接收的频率大约是最快大约500ms一次;远远的小于实际产生的事件数。
不知道是不是事件本身传递到应用层的时间太长,还是事件发生了阻塞?更奇怪的是,行同步信号停止后居然还有事件发生。是不是还有事件在排队等待处理?

期待各位的高见,欢迎指导,交流!
谢谢先!
Hothand
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-12 12:31
一个数据采集PCI卡(win2k系统),行同步信号作为中断源,每一行产生一个中断最短周期1ms,硬件上有Fifo最多可以存贮5-6行的数据,现在需要驱动程序每来一次或n次中断,向应用程序发送事件信号,然后,应用程序读取采集的数据,数据实时采集,不能丢失。
(不知道这种思路可否实现)
============================================================
完全可以。我见过的一个pci卡,读io口数据,50mbps.
游客

返回顶部