芯片ARMV4I,接口VLIO,WinCE4.2,PXA270,WLAN模块。在Miniport_Init中用NdisMRegisterInterrupt注册一个共享中断,中断号是手动指定的一个任意值,函数返回成功,但是不知道为什么中断处理函数却怎么也不调用。我在注册表里设了Bu...
全文
回复(12) 2004-12-28 10:53 来自版块 - Wince 程序开发
表情
wxl_50685330写成一个还是两个没关系三 你能读写内部寄存器?用上层应用通过驱动读的?如果这步都对了那挂isr应该问题不大了(2005-01-06 14:42)
qwdrv对,这段处理是针对pci接口的,只是我的接口如果不是pci的话是不是就不需要处理ne2000isr.dll了?我是对用两个dll处理isr很奇怪,应该在ne2000.dll里就可以完成ist和isr的呀。 我现在能够通过接口读写卡上的内容,但是不知道怎么回事,中断就是挂不上。(2005-01-06 12:12)
wwei_wangTo qwdrv, ne2000 网卡有pci接口的也有isa接口的,因此它的驱动也分别针对pci接口和针对isa接口,在pb右边的网卡驱动group里面你也能发现这一点。下面的这段程序应该是处理pci接口的网卡的。 “ if (Adapter->BusType ==...(2005-01-06 08:20)
qwdrv谢谢。 ISR和IST不是应该对应Miniport.ISRHandler和Miniport.HandleInterruptHandler的吗? ne2000中的处理是: if (Adapter->BusType == NdisInterfacePci) { ...(2005-01-05 14:56)
wxl_50685330"(ne2000.dll&ne2000isr.dll)?而且两个dll里都有中断处理," ne2000isr.dll这个是ISR,是中断服务例程(Interrupt Service Routin),做最简单的中断处理,比如判断中断源和清除中断,然...(2005-01-05 13:58)
qwdrv刚才看了一下ne2000的代码,有几个问题非常疑惑: (1)由于没有接触过,不知道ne2000做的具体是什么事情,但是为什么需要两个dll(ne2000.dll&ne2000isr.dll)?而且两个dll里都有中断处理,这是怎么回事啊?难道必须要两个dll才能协同工作...(2005-01-05 13:42)
qwdrv不明白。 (1)ISR是我写的,不过函数类型是:void (_stdcall*)(PBOOLEAN,PBOOLEAN,NDIS_HANDLE);不是DWORD (_stdcall*)(DWORD);在这里没有办法返回Sysintr,只能返回recognized。 (2)我在....(2005-01-05 09:10)
wwei_wang(1)qwdrv兄弟,ISR是你写的吗?你说isr从来没有调用过,我怀疑你的网卡的中断和isr根本就没有挂上。 (2)在NdisMRegisterInterrupt函数中,InterruptVector的值应该是NIC的硬件中断irq(注意不是Sysintr)。而与irq相对应...(2004-12-30 13:18)
wxl_50685330ISR是你写的吗?处理网卡的中断后(注意不是IST,是ISR),你返回的值应该是SYSINTR(2004-12-29 13:51)
qwdrv你的NIC的ISR里面处理完后返回你分配的SYSINTR了吗? 不明白,这是指的什么?我的ISR根本就没有被调用过,不管我注册成几号中断。 但是NdisMRegXXX是成功的呀。(2004-12-28 15:24)

返回顶部