DMACx.DMSTS.BIT.ACT on RX72N does not work

I'm using the DMAC1 on a RX72N to transfer data from memory in the internal RAM to memory in the internal RAM.
I start the DMA by software. But the ACT Bit does not work correctly.

The sequence does not work

        DMAC1.DMREQ.BIT.SWREQ=1;

        while (DMAC1.DMSTS.BIT.ACT)
        {
            nop();
        }

        DMA_Send_Var.LONG=revl(DMA_Send_Var.LONG);

I have to use nop()s for correct operation

        DMAC1.DMREQ.BIT.SWREQ=1;
        nop();
        nop();
        nop();
        nop();
        nop();
        DMA_Send_Var.LONG=revl(DMA_Send_Var.LONG);

This works fine

Any ideas?

Best regards Martin

Parents Reply Children
No Data