贴出2812的程序来,大家帮我查查问题!

2019-08-02 20:56发布

interrupt void cap1(void)
{
cap1_change();
EvaRegs.EVAIFRC.bit.CAP1INT=1;
PieCtrl.PIEACK.all|=PIEACK_GROUP3;
}
interrupt void cap2(void)
{
cap2_change();
EvaRegs.EVAIFRC.bit.CAP2INT=1;
PieCtrl.PIEACK.all|=PIEACK_GROUP3;
}
interrupt void cap3(void)
{
cap3_change();
EvaRegs.EVAIFRC.bit.CAP3INT=1;
PieCtrl.PIEACK.all|=PIEACK_GROUP3;
}

三个cap中断,现在的现象是,三路方波信号同时送到cap口,总是只能一个cap能正确的执行程序,其他两个cap根本就不中断。
但是任意拔掉两个方波信号只留一个方波信号,这一路cap中断就很正常了!

请朋友们帮忙解决!谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。