| 
			 
					阅读:1189回复:6
				 
				中断和DPC选择的问题
					一个PCI设备的WDM驱动,有两中情况分别会引起中断,并且需要不同的处理,一个是写,一个是读。我不知道采用以下哪种方案好一些,请大虾们指点:
 
							方案1:写两个DPC,在ISR中判断进哪个DPC,然后调用不同DPC。 如果用此方案,假如在DPC还没有执行或者没有执行完时,又来中断,书上说后来的DPC会被拒绝,又说如果中断发生的间隔很短的话,DPC可能运行两次(Chris Cant Windows WDM设备驱动程序开发指南P291),我有些迷惑。 还有基本DPC对象和CUSTOM DPC有什么不同,为什么调用函数都不一样。 方案2:只用一个DPC,在ISR中根据不同中断设置设备扩展中不同标志位,在DPC中根据标志位来决定做什么操作。 假如写DPC等待执行过程中又来读操作的中断,进ISR,设置读中断标志位,调用DPC,被拒绝。那么当已经排队的那个DPC执行时,其FDO参数的设备扩展中相应于后一个读中断的位应该是多少呢?  | 
	|
					
						最新喜欢: | 
	
| 
			 沙发# 
								发布于:2002-12-09 18:58				
			
					用一个足够了				 
							 | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2002-12-09 19:49				
			用一个足够了 那么当一个DPC没有解决,第二个中断又来了的问题怎么办?  | 
	|
| 
			 地板# 
								发布于:2002-12-10 21:38				
			[quote]用一个足够了 那么当一个DPC没有解决,第二个中断又来了的问题怎么办? [/quote] 你的中断速度有多快,担心这样 你可以在dpc的最后在开启中断标志  | 
	|
					
						
  | 
	
| 
			 地下室# 
								发布于:2002-12-10 21:52				
			
					中断倒不一定很频繁,但是时间不确定,我怕它来的不是时候,导致应有的读操作未做。应用一个DPC试试看吧。
 
							兵马桶上的那位可是你? :D  | 
	|
| 
			 5楼# 
								发布于:2002-12-11 01:09				
			
					用一个dpc就可以了!!你可以在需要的时候插入一个dpc队列
 
							我做的板子同时处理4个中断,都没有问题!!放心使用好了!!祝你好运!!朋友! 有用的话别忘了给分!!  | 
	|
| 
			 6楼# 
								发布于:2002-12-11 11:47				
			中断倒不一定很频繁,但是时间不确定,我怕它来的不是时候,导致应有的读操作未做。应用一个DPC试试看吧。 如果中断不频繁的话,不用担心,另外如果你还是担心的话,那就在dpc结束的时候再打开中断屏蔽 it is me in bmy :D  | 
	|
					
						
  |