我给我PF口三个引脚设置了中断,分别是PF0,PF2,PF4(这三个引脚只有PF4的引脚中断在特定时刻才开启,其他时间都是关闭的)。初始化的时候我只是开启了PF0和PF2,到了如第一张图所示只有执行了EP2_Inter_enable()这个函数我才开启PF4,寄存器的设置第一张图的右边显示。
直到执行EP2_Inter_disable()前这个PF4的中断都是一直在开启的,如第二张图的右边寄存器设置。
我想的是就是执行EP2_Inter_disable();函数把PF4引脚的中断给屏蔽,不在使用了,只有在触发条件符合的时候再开启PF4引脚中断。但是我执行了EP2_Inter_disable()函数如第三张图片所示,第125行运行了这条语句后MASKA全为0了???把那个PF0和PF2的中断也给屏了!后来我就加了第126条语句,那样PF2和PF0的中断就没事了。第四张和第五张显示的是我执行完EP2_Inter_disable()后开启的PF口中断的寄存器显示。
我不明白的是我在函数EP2_Inter_disable()中我只是*pPORTFIO_MASKA_CLEAR |= 0x0010;PF4引脚屏蔽为什么都被屏了?是不是我操作的寄存器不对还是我操作的步骤不对?
「该帖子被 笑溜溜 在 2013-07-25 09:34:47 编辑过」