中断问题

一直没有搞清楚ch365芯片是否需要驱动程序才能工作 现在开发了一块pci卡,是在linux环境下的,其他芯片是需要写驱动去控制它的工作的, 但是ch365我需要自己编写相应的驱动操作ch365中的寄存器才能正常工作嘛? 谢谢

CH365芯片本身无需驱动程序就可工作,升级ISA板卡可以不需要驱动程序! 如果你要想用CH365去控制外部电路,就必须写驱动去控制它的工作,如:读I/O基址,读MEM基址,读配置空间,写配置空间等等!


谢谢你的回答 我现在有个问题就是在运行我自己开发的驱动程序总是死机,里面有一句相当于申请中断的语句“request_irq……”,如果将这句话去掉,就可不死机,否则就死机。 而且ch365的int_req引脚好像一直是低有效,也就是说它在一直给主机发中断,那我要怎么解决啊? 怎么让int_req的引脚在发了一个中断之后就变成无效呢。


把那段代码贴出来看看呢!


标准的中断过程如下: 1--外部电路INT_REQ输出低电平有效的中断请求信号,导致CH365的中断激活位变为1。如果外部电路提供的是低电平脉冲,则脉冲宽度必须大于TINT。 2--CH365通过PCI总线的INTA信号向计算机申请中断。 3--计算机进入CH365的中断服务程序。 4--如果外部电路的中断请求不是脉冲信号,则中断服务程序应该通知外部电路撤消中断请求,也就是将INT_REQ恢复为高电平。 5--中断服务程序将CH365的芯片控制寄存器的中断激活状态位清除为0,CH365的PCI_INTA引脚恢复为高阻状态,撤消了对计算机的中断请求。 6--中断服务程序进行必要的饿中断处理,该步骤也可以进入中断后先执行。 7--中断处理完毕,计算机退出Ch365的中断服务程序。


如果是您的软件导致的不能退出中断的话,查状态激活位是否撤销了。


只有登录才能回复,可以选择微信账号登录