Hi
- the access rights look good.
I think that I see a tx error in the code:
- when setting up the DMA for transmission you have the source and destination inverted. Source must be your buffer and destination the TX register.
Then you must also configure the UART but with disabled interrupt (if not already done).
If you now put 8 bytes into the tx buffer and enable the transmitter using
UMR1_2_0 = UART_TX_ENABLE; (your defines will be slightly different)
then the transmitter will start the DMA transfer process and after 8 bytes the DMA interrupt will occur.
Check the DMA status register if nothing happens since it will tell you if it aborted due to a bus error or similar and this will possibly indicate the source of any more problems.
Apart from the error with the inversion, the rest of the set up looks good.
In your interrupt routine you will then have to clear the DONE bit. I use the following sequence:
1. Disable DMA
2. Disable transmitter
3. Reset DONE bit
Regards
Mark Butcher
www.mjbc.ch / www.uTasker.com