PCI设备的中断捕获问题 点击:2024 | 回复:1



gongkongedit

    
  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-04-25 09:15:00
楼主
例子程序现在可以运行了,说明我已掌握了I/O板的外部接线。在我自己的程序里我也设了DIO_SetDualInterrupt(card, INT1_EXT_SIGNAL, INT2_DISABLE, hEvent),事件信号也是有的。但我最终要用VXD捕获中断,不能用线程。我在网上找到了一个已做好的Vxd,并关联中断号与中断服务程序:SetIRQ(9,Interrupt7432handle)。可以确信中断打开并关联上了,但即使我用5v的线去戳Di_0,令其产生中断,但中断服务程序并不执行。同样的情况若是ISA的卡的话是可以有中断的,我做过这样的程序。但PCI的卡就没有,这是不是PCI设备共享中断的问题?几个设备共享一个中断,怎么样能去执行我的服务程序呢?这方面的资料很少,希望能给我推荐些资料和网站。 还有一个问题,7432的输出是32位的,DO_WritePort(card,port,value),看资料好像port只能是0,也就是我用这个函数的时候每次都必须输出32位的值,而不能对指定的8位单独的输出,是这样吗??



李侃

  • 精华:22帖
  • 求助:0帖
  • 帖子:30帖 | 813回
  • 年度积分:0
  • 历史总积分:1015
  • 注册:2002年2月27日
发表于:2002-04-25 09:15:00
1楼
1.首先试试在DOS下能不能触发中断服务程序 2.对PCI卡进行中断操作比较复杂,除了对8259操作外还要对PCI控制芯片操作,Windriver的例子程序中有相应的例子代码 3.7432可以对某一位进行操作

热门招聘
相关主题

官方公众号

智造工程师