Hi
There is no restriction to doing DMA transfers to GPIO on the K22.
In the uTasker project a reference application is to bridge a UART input to GPIO output (almost as if it were a wired connection) by using this configuration:
// Configure the DMA trigger from the UART input pin change to toggle an alternative port so that the input signal is mirrored to that output without CPU intervention
//
static const unsigned long ulOutput = PORTC_BIT16; // the output to be mirrored to
fnConfigDMA_buffer(9, DMAMUX0_CHCFG_SOURCE_PORTB, sizeof(ulOutput), (void *)&ulOutput, (void *)&(((GPIO_REGS *)GPIOC_ADD)->PTOR), (DMA_FIXED_ADDRESSES | DMA_LONG_WORDS), 0, 0); // use DMA channel 9 without any interrupts (free-runnning)
Note that it uses the PTOR register so that every write causes a toggle. Maybe you are not using suitable register or the value being written to it is not correct (?)
Regards
Mark
Complete Kinetis solutions for professionals, training and support: http://www.utasker.com/kinetis.html
Kinetis K22:
- http://www.utasker.com/kinetis/FRDM-K22F.html
- http://www.utasker.com/kinetis/TWR-K22F120M.html
- http://www.utasker.com/kinetis/BLAZE_K22.html
- http://www.utasker.com/kinetis/tinyK22.html