阅读:825回复:1
来来来(40分)
一个数据采集PCI卡(win2k系统),行同步信号作为中断源,每一行产生一个中断最短周期1ms,硬件上有Fifo最多可以存贮5-6行的数据,现在需要驱动程序每来一次或n次中断,向应用程序发送事件信号,然后,应用程序读取采集的数据,数据实时采集,不能丢失。
(不知道这种思路可否实现) 目前,我在应用程序中创建了事件,将它传给驱动,驱动程序在中断的DPC中调用事件的Pulse()函数来设置事件;同时应用程序开一个线程监视WaitForSingleObject这个事件,目前卡开始工作以后,应用确实收到了事件,但是接收的频率大约是最快大约500ms一次;远远的小于实际产生的事件数。 不知道是不是事件本身传递到应用层的时间太长,还是事件发生了阻塞?更奇怪的是,行同步信号停止后居然还有事件发生。是不是还有事件在排队等待处理? 期待各位的高见,欢迎指导,交流! 谢谢先! |
|
|
沙发#
发布于:2003-07-12 12:31
一个数据采集PCI卡(win2k系统),行同步信号作为中断源,每一行产生一个中断最短周期1ms,硬件上有Fifo最多可以存贮5-6行的数据,现在需要驱动程序每来一次或n次中断,向应用程序发送事件信号,然后,应用程序读取采集的数据,数据实时采集,不能丢失。
(不知道这种思路可否实现) ============================================================ 完全可以。我见过的一个pci卡,读io口数据,50mbps. |
|