标准的中断过程如下: ① 外部电路向INT_REQ 输出低电平有效的中断请求信号,导致CH365 的中断激活位变为1。如果外部电路提供的是低电平脉冲,则脉冲宽度必须大于TINT。 ② CH365 通过PCI 总线的INTA 信号向计算机申请中断。 ③ 计算机进入CH365 的中断服务程序。 ④ 如果外部电路提供的中断请求不是脉冲信号,则中断服务程序应该通知外部电路撤消中断请求,也就是将INT_REQ 恢复为高电平。 ⑤ 中断服务程序将CH365 的芯片控制寄存器的中断激活状态位清除为0,CH365 的PCI_INTA 引脚恢复为高阻状态,撤消了对计算机的中断请求。 ⑥ 中断服务程序进行必要的中断处理,该步骤也可以在进入中断后先执行。 ⑦ 中断处理完毕,计算机退出CH365 的中断服务程序。 ------------------------------分割线-------------------------------- 本人设计的板卡,给CH365提供的是一个外部的方波信号,即,第四步无法通知外部电路撤销中断请求,即中断程序执行完成后,INT_REQ依旧为低电平,但本人只想在一个低电平中执行一次中断,请问该如何实现? 或者,能不能将中断改成上升沿或者下降沿触发?
查看: 3250
回复: 1
INT_REQ为方波信号时CH365的中断问题-
热门产品 :
CH390:以太网控制器芯片
首先,D3下拉复用引脚59的功能为INT_REQ, 然后根据I/O 空间偏移0F8H,位2设定INTA 中断激活状态,为0无中断,为1有中断。 可以采用这些函数 BOOL WINAPI CH365WaitInterrupt( ); // 等待中断事件 BOOL WINAPI CH365AbortWaitInt( ); // 放弃等待中断 BOOL WINAPI CH365SetIntRoutine( // 设定中断服务程序 mPCH365_INT_ROUTINE iIntRoutine ); // 指定中断服务程序,为NULL则取消中断服务,否则在中断时调用该程序
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录