完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的第一个问题是,中断最初是在它打开时发生的,而我没有触碰PORTB上的任何临时按钮。我启用了GIE、RBIE、我正在使用的IOCB位,并清除了RBIF。当我在调试模式下运行它时,中断发生时完全没有触碰按钮。我正在使用的PORTB引脚被电阻器拉高,当我按下瞬时按钮时被拉低。正如我所说,中断最初发生在我运行代码时没有接触任何东西。我错过了什么?也。。。当中断发生时,您是否检查ISR中每个PORTB引脚的状态,以确定哪一个导致中断?看到我的端口输入被拉低我的开关,我有点检查低状态。我担心的是,当我在ISR中检查中断时,导致跳闸的PUBB引脚可能会很高,因为开关跳动。这是可能的吗?我想是的。现在我又问了一个问题。甚至可以通过PORTB中断执行某些任务吗?在确定PORTB输入的状态之前,您必须等待状态的稳定改变。我的想法是在主循环中有一些代码。这段代码希望将计数器减少一定次数,直到它达到零,然后检查每个PORTB输入的状态。一旦状态被确定,我就可以执行一些任务,但是该任务将在主循环中执行。唯一的事情发生在ISR后,一个PORTB中断是分配一个值到计数器。每当中断发生时,计数器就恢复。计数器可以减少的唯一方法是中断中断。这似乎更像是轮询PORTB输入到我,而不是通过PoBB中断完成某些事情。我是否误解了整个端口中断的事情?技术上…有些事情是通过PORTB中断发生的,但是它仍然在查询输入。它是在中断的轮询中,我还没有工作,因为我上面提到的问题。
|
|
相关推荐
7个回答
|
|
我强烈建议您不要使用PORTB中断来读取按钮。那样处理开关弹跳等可能是个噩梦。如果在定时器中断中轮询逻辑,以100Hz左右的频率运行,那么使逻辑工作起来要容易得多。
|
|
|
|
我要接受你的建议,因为这让我发疯了。不过有一件事…你知道我跑步的时候为什么会中断吗?
|
|
|
|
在初始化代码中,需要对PoTB进行一个虚拟读取以预置比较锁存器。
|
|
|
|
MOVFW是这样的?或者也许:
|
|
|
|
两者都不起作用。我也测试了PORTB。
|
|
|
|
好的,我明白了。最后。我非常喜欢这个问题:(问题是我在建立ITCCON之前正在做假的读/写。)我做完了,现在效果不错。
|
|
|
|
MOVFW应该是一个扩展到MOVF & LT的宏。
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2224 浏览 5 评论
727浏览 1评论
612浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
501浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
626浏览 0评论
524浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:18 , Processed in 1.559669 second(s), Total 89, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号