完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用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个回答
|
|
我还注意到,It2是一个可能的模拟引脚,是ANSELB配置正确地宣布作为数字输入的It2引脚吗?
|
|
|
|
如果您正在使用高优先级中断ISR,那么请确保为高优先级设置了选择的中断,并且启用了优先级中断,我认为默认情况下它们是禁用的。
|
|
|
|
我不知道如何检查INT2IF是否正在设置而不查看IRS。我使用了示波器,情况正在发生,所以应该设置标志,但它不是。
|
|
|
|
KTrenholm:我的ANSELB寄存器是:0b00110000,所以应该很好[link=mailto:jack@kk.:]jack@kk.:[/link]我已经用RCONbits.IPEN=1和INTCON3bits.INT2IF=1尝试过了。
|
|
|
|
你有没有使用调试器,如ICD3或皮卡?您可以通过调试或可选地,如果您有某种串行输出,您可以打印出来的终端上的PC。
|
|
|
|
是的,我一直在使用ICD3并在ISR内部的所有IF-()循环中设置断点。只有永远不被设定的
|
|
|
|
我建议你张贴所有你当前的代码,这个问题可能是在代码的一部分,你没有预料到…
|
|
|
|
原来这是硬件问题,但是谢谢你的帮助!
|
|
|
|
只有小组成员才能发言,加入小组>>
5234 浏览 9 评论
2026 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3201 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
771浏览 1评论
659浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
588浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
670浏览 0评论
571浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 16:36 , Processed in 1.522315 second(s), Total 91, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号