阅读:1219回复:3
关于USB数据传输的问题
开发工具,DDK2000
参考代码 src/wdm/usb/bulkusb 通常数据传输都是在上层控制的,通过CreateFile( )打开inPipe, outPipe,然后通过read,write实现。 现在需要把这部分控制做在驱动里,上层通过ioctl发送命令,驱动接收后,发送相应的命令帧出去。 驱动代码中,在收到ioctl命令后,就去调用BulkUsb_Read( ),BulkUsb_Write( )两个函数,总是会系统重启。到底是什么原因造成的呢? 如何在驱动中,控制命令帧的发送和接收? 谁有过类似的经验,帮忙看看吧 |
|
沙发#
发布于:2008-07-08 17:40
没有其他的错误信息了吗?用softice下断点,看看是否在这两个函数之前就出问题了?我猜测是在调用这两个函数之前,系统就已经出错啦,CreatePipe等操作检查了返回值吗?
如果没有其他错误信息,则有一种可能是: 在调用read, write之前,程序已经出错,而程序跳转到乱码处,碰巧执行了重启系统的指令。 |
|
|
板凳#
发布于:2008-07-09 10:45
是在CreatePipe就出错了:(
驱动调试有没简单些的方法啊,自己用DbgPrint加了打印,经常会重启,好象打印信息多了也会重启,这是为什么啊? |
|
地板#
发布于:2008-07-11 17:06
学用softice或者syser debugger
|
|
|