完善资料让更多小伙伴认识你,还能领取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”旗标是不必要的。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1122浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:34 , Processed in 0.854053 second(s), Total 87, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1260