我们现在做PCI控制卡利用双口RAM进行板卡和PC之间数据的交换(用CH365做为桥) 板卡向PC传送数据时会触发中断,通过CH365将中断信号传送给PC。
现在板卡向PC发数据产生中断后 造成PC死机(我用的是CH365原厂驱动),但我把驱动程序 中断初始化屏蔽后(就是对中断不进行处理),我可以读双口RAM特殊地址就可以关中断信号。因些我修改了驱动程序中断服务程序,中断处理完后读一下双口RAM特殊地址,可是 中断产生后PC还是死机
那位大侠给小弟一些建议啊?[Emot]1[/Emot]
我们现在做PCI控制卡利用双口RAM进行板卡和PC之间数据的交换(用CH365做为桥) 板卡向PC传送数据时会触发中断,通过CH365将中断信号传送给PC。
现在板卡向PC发数据产生中断后 造成PC死机(我用的是CH365原厂驱动),但我把驱动程序 中断初始化屏蔽后(就是对中断不进行处理),我可以读双口RAM特殊地址就可以关中断信号。因些我修改了驱动程序中断服务程序,中断处理完后读一下双口RAM特殊地址,可是 中断产生后PC还是死机
那位大侠给小弟一些建议啊?[Emot]1[/Emot]
先清您的中断请求的低电平,再清中断激活位
PVOID mMemAddress; UCHAR mMemByte; mMemAddress= mDeviceExtension -> mRomBaseAddr + 1022; mMemByte=READ_REGISTER_UCHAR( mMemAddress);
用上面程序清楚中断请求的低电平 可是运行后PC蓝屏报IROL_NOT_LESS_OR_EQUAL错误
能帮我分析下程序那里错了吗?
这个错误解释是 This indicates that the driver accessed paged memory at DISPATCH_LEVEL or above.
mem的操作基址和扩展rom的基址您是不是搞混了?!
谢谢回答
我自己写的程序有问题,现在已经搞定了