| 
			 
					阅读:1550回复:7
				 
				诚心求教, DeviceIoControl假死现象
					小可刚接触USB(ez usb 68013)开发,遇到一个问题百思不得其解,想向大家讨教一下: 
							我用的是公板的驱动和固件,在应用程序里开双线程读数据(inBulkControl.pipeNum=1,),如果在读取的过程中再发送数据(outBulkControl.pipeNum=0),有时程序会停在读取数据的 DeviceIoControl那个函数那, DeviceIoControl函数没有返回值,好像是假死了.这个时候即便是把应用程序关了,应用程序的进程仍然会停留在任务管理器里,好像应用程序没有完全退出.这时,如果我再读取一下数据,程序就会完成退出了. 我不知道为什么在读取的过程中发送数据会有问题,是我应用程序的问题还是EZ-USB公板驱动的问题  | 
	|
| 
			 沙发# 
								发布于:2009-05-06 19:44				
			回 楼主(daodaowang) 的帖子 
					up 大家帮帮忙啥 谢谢啦				 | 
	|
| 
			 板凳# 
								发布于:2009-05-06 20:02				
			
					使用异步方式可能好些,但无论怎样,总不能让程序死掉,退出程序都不结束更不应该				 
							 | 
	|
					
						
  | 
	
| 
			 地板# 
								发布于:2009-05-09 20:34				
			回 2楼(AllenZh) 的帖子 
					谢谢				 | 
	|
| 
			 地下室# 
								发布于:2009-05-10 14:02				
			
					顶上去				 
							 | 
	|
| 
			 5楼# 
								发布于:2009-05-13 11:56				
			
					我也遇到这个问题。我怀疑MSDN对DeviceIoControl各参数的解释不对,有两个长度参数貌似反了。 
							没仔细研究。 如果解决假死,可以在驱动里的URB提交函数中设置超时期限,但仅供调试,并不能根本解决问题。  | 
	|
| 
			 6楼# 
								发布于:2009-05-14 20:45				
			 | 
	|
| 
			 7楼# 
								发布于:2009-05-14 22:00				
			
					应该是驱动的同步问题,请求没完成!				 
							 | 
	|
							
				
				