当PDPINT触发时PWM输出引脚为高阻态,该如何在中断函数中拉低为低电平

2019-03-26 15:45发布

手把手教你学DSP  书中介绍PDPINT的时候有提到当PDPINTx输入一个低电平的时候,PWM引脚立刻变为高阻态,同时申请中断。为了保险起见,在中断函数中还是得将引脚电位置为低电平。
我加了这个中断,但是发现高阻态时程序对引脚输出不起改变,请问该如何修改或如何实现呢?
interrupt void PdpISR(void)
{

        EvaRegs.ACTRA.all=0x0000;       
        EvaRegs.EVAIFRC.all=BIT0;       
        PieCtrlRegs.PIEACK.all |= PIEACK_GROUP1;
}

我希望在主程序刚执行的时候PWM输出也全为低电平,所以我加了以下语句
        EALLOW;  
        GpioMuxRegs.GPAMUX.all |= 0x003F;
        EDIS;   
        EvaRegs.ACTRA.all=0x0000;

   while (EnableFlag==FALSE)
    {
      BackTicker++;
    }
但问题是如果前一次运行PDPINT被触发,重新下载程序后运行PWM引脚不会发生改变,请问该如何实现呢 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
Firststep
2019-03-27 06:47
lelee007 发表于 2014-10-14 10:02
这个不知道哇,帮頂

我的设想是找到DSP封锁PWM,输出高阻态的中断程序,然后在这个语句之前使PWM强制低,这样貌似高阻态后输出也为低,但是好像找不到DSP封锁PWM的中断,资料上说PDPINTx如果被禁止的话,是不会输出高阻的,说明这不是硬件上由三态缓冲器实现的。

一周热门 更多>