Noe I try to output any pulse by FlexPWM by useing DMA.
Currently FlexPWM1 submodule0 A and B used independently.
I set DMA source kDmaRequestMuxFlexPWM1ValueSub0 to 2.
channnels.DMAMUX_SetSource(ALIGNMENT_MOTOR_DMAMUX, ALIGNMENT_Y_MOTOR_DMA_CH, kDmaRequestMuxFlexPWM1ValueSub0);
DMAMUX_SetSource(ALIGNMENT_MOTOR_DMAMUX, ALIGNMENT_X_MOTOR_DMA_CH, kDmaRequestMuxFlexPWM1ValueSub0);
A is memory to ALIGNMENT_MOTOR_PWM->SM[kPWM_Module_0].VAL3.
B is memory to ALIGNMENT_MOTOR_PWM->SM[kPWM_Module_0].VAL5
But it work only A.
B does not out pulses.
DMAMUX_SetSource can not support same source different channel ?
已解决! 转到解答。
Thank you.
I use i.MXRT 1062.
Now I changed software structure.
DMA PWM1 submodule0 trigger -> PWM1 VAL3
PMW1 - Submodule0 - A ---> XBARA(PWM1 OutputTrigger) -- XBARA(INOUT04)
DMA PWM3 submodule0 trigger -> PWM3 VAL3
PMW3 - Submodule0 - A ---> XBARA(PWM3 OutputTrigger) -- XBARA(INOUT05)
Currently, it works well.
Thank you.
I use i.MXRT 1062.
Now I changed software structure.
DMA PWM1 submodule0 trigger -> PWM1 VAL3
PMW1 - Submodule0 - A ---> XBARA(PWM1 OutputTrigger) -- XBARA(INOUT04)
DMA PWM3 submodule0 trigger -> PWM3 VAL3
PMW3 - Submodule0 - A ---> XBARA(PWM3 OutputTrigger) -- XBARA(INOUT05)
Currently, it works well.