Hi everybody,
I have a XMC4500 relaxKit and I use the ERU to trigger a capture of CCU42.CC40 when a button on the board is pressed. Debugging shows that this works fine and the timer value at button-press gets captured into CCU42_CC40->CV[1].
Now I want to transfer the captured value into an array in RAM using the DMA. My configurations of the DMA are:
- source address &CCU42_CC40->CV[1]
- destination and source transfer width of 16bit because I only want to transfer the captured timer-value and not the rest of the capture-register
- destination address count mode incremental
- source address count mode no change
- source and destination burst length of 1
- block size of 1
- transfer type multi-block with reloading source address and contiguous destination address
However, this setup doesn't work since I can't see any values arriving at the destination array. Only if I change at least the source transfer width to 32bits I can see values arriving in the destination array. But each time the whole content of the capture-register is copied to the destination array.
How can I achieve a 16bit transfer with the DMA so that I only get the captured timer value in the destination array?
Regards,
Niclas
I have a XMC4500 relaxKit and I use the ERU to trigger a capture of CCU42.CC40 when a button on the board is pressed. Debugging shows that this works fine and the timer value at button-press gets captured into CCU42_CC40->CV[1].
Now I want to transfer the captured value into an array in RAM using the DMA. My configurations of the DMA are:
- source address &CCU42_CC40->CV[1]
- destination and source transfer width of 16bit because I only want to transfer the captured timer-value and not the rest of the capture-register
- destination address count mode incremental
- source address count mode no change
- source and destination burst length of 1
- block size of 1
- transfer type multi-block with reloading source address and contiguous destination address
However, this setup doesn't work since I can't see any values arriving at the destination array. Only if I change at least the source transfer width to 32bits I can see values arriving in the destination array. But each time the whole content of the capture-register is copied to the destination array.
How can I achieve a 16bit transfer with the DMA so that I only get the captured timer value in the destination array?
Regards,
Niclas