TI中文支持网
TI专业的中文技术问题搜集分享网站

急急急 cla 中断溢出该怎么处理

我在操作cla时,遇到这样的问题:

    我用300K的PWM在ZRO点触发cla,如果cla中的代码执行时间大于1/300K,那么会出现cla的中断溢出,当溢出事件发生后,这个cla任务完成后,下一个cla任务会紧跟着执行,那么这会导致触发点的偏移,这个是我不希望得到的结果,那么我想在cla中操作cla的寄存器去不触发或者丢失紧跟着的这个cla任务,保证下一个周期是在zro点触发,但是从实验看,在cla任务中操作很多保护寄存器都无法产生效果?是不是这些寄存器只能在CPU中使用?寄存器如下:

//__meallow();

//Cla1Regs.MICLR.bit.INT1 =1;

//Cla1Regs.MICLROVF.bit.INT1 =1;

//Cla1Regs.MCTL.bit.SOFTRESET =1;

//ClaRegs.MIER.bit.INT =0;

//__medis();

以上几个寄存器好像只能在cpu中操作,对于这种中断溢出的情况该怎么处理呢(不更改我的pwm周期)

Eric Ma:

 我用300K的PWM在ZRO点触发cla,如果cla中的代码执行时间大于1/300K,那么会出现cla的中断溢出,当溢出事件发生后,这个cla任务完成后,下一个cla任务会紧跟着执行,那么这会导致触发点的偏移,这个是我不希望得到的结果,那么我想在cla中操作cla的寄存器去不触发或者丢失紧跟着的这个cla任务,保证下一个周期是在zro点触发,但是从实验看,在cla任务中操作很多保护寄存器都无法产生效果?是不是这些寄存器只能在CPU中使用?寄存器如下:

Eric:

这些寄存器确实只在CPU 上操作。

以上几个寄存器好像只能在cpu中操作,对于这种中断溢出的情况该怎么处理呢(不更改我的pwm周期)

Eric:

如果这种情况,那你可以设置PWM触发的情况为两个周期才触发一次,这样就没有问题了。

赞(0)
未经允许不得转载:TI中文支持网 » 急急急 cla 中断溢出该怎么处理
分享到: 更多 (0)