Cla1Regs.MVECT1 = (uint16_t)(&Cla1Task1);
将CLA的任务1设置为Cla1Task1,以此类推
DmaClaSrcSelRegs.CLA1TASKSRCSEL1.bit.TASK1 = 1;
选择任务1触发方式,具体资料在芯片技术参考手册6.2.4章节
DmaClaSrcSelRegs.CLA1TASKSRCSELLOCK.bit.CLA1TASKSRCSEL1 = 0;
DmaClaSrcSelRegs.CLA1TASKSRCSELLOCK.bit.CLA1TASKSRCSEL2 = 0;
进行寄存器锁定
Cla1Regs.MCTL.bit.IACKE = 1;
将软件触发方式IACKE 使能
Cla1Regs.MIER.all = 0x0080;
使能CLA第8任务
asm(" IACK #0x0080");
IACK 进行触发
asm(" RPT #3||NOP");
等待4个周期
while(Cla1Regs.MIRUN.bit.INT8 == 1);
等到第8任务完成
Cla1Regs.MIER.all = 0x0001;
使能第1任务,禁用其他任务
上述功能仍需要EALLOW;与EDIS;