Microchip
直播中

曾玲娟

8年用户 192经验值
私信 关注
[问答]

PIC18F45K50上的INT2无法正常工作

我用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++;}。

回帖(8)

王雪

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

tijing忽忽

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

孙琪

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

李阳

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

更多回帖

发帖
×
20
完善资料,
赚取积分