我设置ePWM 6 来触发CLA1 运行改写ePWM6 寄存器,看样子触发CLA 是成功的,但寄存器貌似没有改写:
我CLA的初始化如下:
EALLOW;
// Cla1Regs.MVECT1 = (Uint16) ((Uint32)&Cla1Task1 - (Uint32)&Cla1Prog_Start);
// Cla1Regs.MVECT2 = (Uint16) ((Uint32)&Cla1Task2 - (Uint32)&Cla1Prog_Start);
// Cla1Regs.MVECT3 = (Uint16) ((Uint32)&Cla1Task3 - (Uint32)&Cla1Prog_Start);
// Cla1Regs.MVECT4 = (Uint16) ((Uint32)&Cla1Task4 - (Uint32)&Cla1Prog_Start);
// Cla1Regs.MVECT5 = (Uint16) ((Uint32)&Cla1Task5 - (Uint32)&Cla1Prog_Start);
Cla1Regs.MVECT6 = (Uint16) ((Uint32)&Cla1Task6 - (Uint32)&Cla1Prog_Start);
//涓柇婧愯锟?
// Cla1Regs.MPISRCSEL1.bit.PERINT1SEL = CLA_INT1_ADCINT1;
// Cla1Regs.MPISRCSEL1.bit.PERINT2SEL = CLA_INT2_ADCINT2;
// Cla1Regs.MPISRCSEL1.bit.PERINT3SEL = CLA_INT3_ADCINT3;
// Cla1Regs.MPISRCSEL1.bit.PERINT4SEL = CLA_INT4_ADCINT4;
Cla1Regs.MPISRCSEL1.bit.PERINT6SEL = CLA_INT6_EPWM6INT;
//鎷疯礉CLA绋嬪簭
//memcpy(&Cla1funcsRunStart, &Cla1funcsLoadStart, (Uint32)&Cla1funcsLoadSize);
memCopy(&Cla1funcsLoadStart, &Cla1funcsLoadEnd, &Cla1funcsRunStart);
Cla1Regs.MMEMCFG.bit.PROGE = 1;
//浣胯兘杞欢涓柇
// Cla1Regs.MCTL.bit.IACKE = 1;
//浣胯兘6涓猅ASK
// Cla1Regs.MIER.all = (M_INT1 | M_INT2 | M_INT3 | M_INT4 | M_INT5 | M_INT6);
Cla1Regs.MIER.all = M_INT6;
//鏄犲皠绌洪棿
EALLOW;
Cla1Regs.MMEMCFG.all = CLA_PROG_ENABLE | CLARAM2_ENABLE ; //| CLA_RAM2CPUE;
// Cla1Regs.MCTL.bit.IACKE = 1;
EDIS;
这是啥原因呢,图片上标注处有问题?