各位工程师好,我现在正在使用6678的cpintc例子,现在遇到一些问题,故向工程师咨询一下。
我的程序流程为:
1.设置GPIO_15为输入状态,开启其下降沿中断,并清除其上升沿中断;
2.使能GPIO全局中断;
3.当出现中断条件时,运行中断服务程序;
但是我发现,在我只给GPIO_15一次脉冲信号时,中断服务程序却执行了两次(见下图)。请工程师能够解答一下为何及如何修改程序?
说明:示波器中上面一条线是GPIO_15产生的低电平触发;
下面一条线是中断服务程序中产生的方波信号,但是却执行了两次。
Andy Yin1:
感觉配置都是没有问题的,读取SET_RIS_TRIG及SET_FAL_TRIG寄存器确认一下是否只使能了下降沿,而上升沿被disable了,另外在中断程序中加一个变量记录一下中断进入的次数确认一下。