发 帖  
原厂入驻New
[问答] PIC18F45K50上的INT2无法正常工作
57 PIC18 引脚
分享
我用PIC来控制风扇的速度来冷却另一个芯片。我从一个开始,又增加了一个。第一个风扇工作良好,但第二个风扇的中断,同样工作,从来没有发生过。我有其他的中断发生,例如一个计时器,这些都是工作,但它只是第二个风扇,没有。第一个风扇在It0上,第二个风扇在It2上。这些中断有没有办法,我错过了什么吗?下面是来自ISR的代码段,只适用于扇子。中断的初始化:/ /允许RB0引脚上的中断捕获TaCHO事件ItCON2BIT.IntiGG0=0;//IRQ在上升沿ItNCONTIT.It0IF=0;/ /清除中断标志ItCONBITS.ITE0IE=1;/ /允许中断。//启用RB2引脚上的中断以捕获TaCHO事件ItCON2BIT.IDEGG2=0;//IRQ在上升沿//ITCON3BITS。It2IP=1;ItCON3BITS It2IF=0;//清除中断标志ItCON3BITS.It2IE=1;/ /允许中断/ /使IRQ在这里ItCONBITS.PEI= 1;ItCONBITS GEE=1;ISR:ELSE if(in CONTITES.It0IF=1){//清除中断ItNoCiT.In0IF=0;//仅当FAN1为IF(LATBITS.LATB1){//增量TCHOO计数TACHOYONTUT1+++;}(ItCON3BIT.It2IF=1){//清除中断ItCON3BIT.InIF=0;/或只计数ToCHO脉冲时,只计数ToCHO脉冲DCDC风扇在IF(LabbTo.LATB3){//增量TaCHO计数TaCHOLYONTUT2++;}。
0
2020-4-10 08:36:17   评论 分享淘帖 邀请回答

相关问题

8个回答
我还注意到,It2是一个可能的模拟引脚,是ANSELB配置正确地宣布作为数字输入的It2引脚吗?
2020-4-10 09:57:11 评论

举报

如果您正在使用高优先级中断ISR,那么请确保为高优先级设置了选择的中断,并且启用了优先级中断,我认为默认情况下它们是禁用的。
2020-4-10 10:10:45 评论

举报

我不知道如何检查INT2IF是否正在设置而不查看IRS。我使用了示波器,情况正在发生,所以应该设置标志,但它不是。
2020-4-10 10:29:26 评论

举报

KTrenholm:我的ANSELB寄存器是:0b00110000,所以应该很好[link=mailto:jack@kk.:]jack@kk.:[/link]我已经用RCONbits.IPEN=1和INTCON3bits.INT2IF=1尝试过了。
2020-4-10 10:42:08 评论

举报

你有没有使用调试器,如ICD3或皮卡?您可以通过调试或可选地,如果您有某种串行输出,您可以打印出来的终端上的PC。
2020-4-10 10:48:08 评论

举报

是的,我一直在使用ICD3并在ISR内部的所有IF-()循环中设置断点。只有永远不被设定的
2020-4-10 11:03:34 评论

举报

我建议你张贴所有你当前的代码,这个问题可能是在代码的一部分,你没有预料到…
2020-4-10 11:20:22 评论

举报

原来这是硬件问题,但是谢谢你的帮助!
2020-4-10 11:40:06 评论

举报

只有小组成员才能发言,加入小组>>

104个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表