lvguihua
驱动牛犊
驱动牛犊
  • 注册日期2007-02-22
  • 最后登录2007-10-03
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:1441回复:2

请问版主:中断无法清除

楼主#
更多 发布于:2007-05-20 00:03
我使用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
lvguihua
驱动牛犊
驱动牛犊
  • 注册日期2007-02-22
  • 最后登录2007-10-03
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-20 21:51
没有高人指点指点老弟我???我才不行呢!
lvguihua
驱动牛犊
驱动牛犊
  • 注册日期2007-02-22
  • 最后登录2007-10-03
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-05-20 21:52
都没有高人愿意赐教???急啊
游客

返回顶部