完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我写了一个程序,我有时需要禁用我的PIC18F14K50中断0(RC0)。我使用下面的指令(在JAL中):ItNoCyTun0II= false;禁用外部中断0。尽管这个指令,当在RC0上产生中断时,中断服务程序仍然被调用。这是已知的问题吗?谢谢
|
|
相关推荐
9个回答
|
|
您是否还启用其他中断?你的ISR代码测试ItnIF和Itn0IE吗?它很可能是ISR代码中的一个bug。
|
|
|
|
听起来好像那行不是执行的。
|
|
|
|
大家好,好问题。我不检查Itn0i,因为我认为它不需要。但是,我的程序使用了更多的中断,在我的ISR中,我只检查INT0IF标志,而不是INT0IE。禁用Itn0IE时,仍然可以设置Itn0IF标志,对吗?谢谢。
|
|
|
|
正确。xxIE标志不会停止设置xxIF标志,所以您仍然可以在非中断代码中轮询xxIF标志。它只是屏蔽了IF标志不会生成中断。因此,在ISR中,您必须检查xxIF标志和xxIE标志中的任何中断。貂皮。(如果IE标记总是被设置的话,没有任何意义。)
|
|
|
|
尽管有XXY,但是当中断条件发生时,XXIF标志将被设置。是的,在ISR,你应该写IF(XXEX&XXIF){XXIF=0;}。
|
|
|
|
如果使用单个中断,则最好只使用xxIF(但不推荐)。void ISR(){if(xxIF){xxIF=0;}}用于多个中断,必须使用xxxIE BIT ALSOvoid ISR(){if(xIF1&xxIE1){xxxIF1=0;}if(xIF2&xIE2){xxxIF2=0;}
|
|
|
|
你真的需要重复我四天前说过的话吗?
|
|
|
|
你不必“去”。只需要在代码中的某个地方清除。
|
|
|
|
如果只有一个中断,那么检查“IF”旗标是不必要的。
|
|
|
|
只有小组成员才能发言,加入小组>>
5146 浏览 9 评论
1993 浏览 8 评论
1921 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3162 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2218 浏览 5 评论
715浏览 1评论
601浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
484浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
615浏览 0评论
513浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 12:15 , Processed in 1.099658 second(s), Total 60, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号