手把手教你学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引脚不会发生改变,请问该如何实现呢
此帖出自
小平头技术问答
我的设想是找到DSP封锁PWM,输出高阻态的中断程序,然后在这个语句之前使PWM强制低,这样貌似高阻态后输出也为低,但是好像找不到DSP封锁PWM的中断,资料上说PDPINTx如果被禁止的话,是不会输出高阻的,说明这不是硬件上由三态缓冲器实现的。
一周热门 更多>