情况是这样的,用PIC16进行按键中断,工作总是不正常,
虽然已经有了消抖延迟。
目前判断应当是因为抖动,导致PIC16在进入中断服务函数
之后又侦测到了中断,导致重复进入中断。
我的问题是:
1、这是否可能?还是PIC16自己有在进入中断之后,屏蔽中断的
功能,我的判断是错的?
2、如果我判断正确,也就是说,确实出现了重复进入中断的情况,那么
PIC16应对这一情况是队列还是嵌套?换言之是后来的中断会放在当前中断
之后还是立刻响应新的中断,响应完了在退回去处理之前的中断?
我觉得应当是队列,因为PIC16没有中断优先级,所以如果我不写代码的话,应当无法实现嵌套。
3、为了避免这种重复的情况,是刚一进中断服务函数就关掉中断,然后做该做的事好,还是先
做该做的事,做完了快退出中断服务函数时再关掉中断?大部分人会说显然是前者,可我两
种都试过了,竟然没有差别,不知道为什么。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
若可能,中断尽量短,或置个标记在外面处理。
若是串口接收,一定要读BUffer,否则中断标志清不掉。
一周热门 更多>