阅读:1501回复:2
请问版主:中断无法清除
我使用windriver7.01和delphi6.0开发PCI驱动程序,接口芯片为plx9052,在windriver中进行硬件测试各个端口操作正常,但是在windriver生成的delphi的驱动程序工程后,使用windriver生成的测试程序时,一旦中断使能后,中断就一直不停的响应。Pci板上的中断应该是每秒20次。无论我在中断服务程序中往中断状态/控制寄存器INTCSR中写什么都一样,寄存器读写函数(××_ReadINT_CSR() /××_WriteINT_CSR)是windriver生成的,单独测试果运行是对的。Pci板是好的。
Windriver的测试程序中的中断服务程序为×××_IntHandlerRoutine(),另外在中断使能函数×××_IntIsEnabled()中有这么一段注释“{ One transfer command is issued to CANCEL the source of the interrupt, otherwise, the PC will hang when an interrupt occurs! }”。 请问: 1, 要清除中断是应该在应用程序进入中断服务程序(×××_IntHandlerRoutine())的时候清除还是在×××_IntIsEnabled()中进行有关的设置,或者别的什么地方。 2, 要清除中断除了设置中断状态/控制寄存器INTCSR外,还需要什么操作。 3, 还有在windriver的中断寄存器及其读写函数定义中,写函数的“data”应该是什么,这个数据好像在×××_IntIsEnabled()函数中用到。 已经努力好几天了还是没有结果。诚请版主或各位高手指点迷津! Lvguihua23@126.com |
|
沙发#
发布于:2007-05-20 21:51
没有高人指点指点老弟我???我才不行呢!
|
|
板凳#
发布于:2007-05-20 21:52
都没有高人愿意赐教???急啊
|
|