2016-02-20 09:28 AM
Code is in the Attatchments.
I'm trying to periodically send data over SPI and to receive data over USART. Sending over SPI w/ DMA works. But the USART DMA doesn't work. I can send whichever data I want, but the DMA wont trigger an interrupt. Disabling DMA and using UART interrupts works, the interrupt fires as soon as USART receives data, so my data or USART aren't to blame. Is there something wrong with my init routines? Or something else?2016-02-20 11:54 AM
Make sure things like this are resolving to addresses, it looks ok, but the cast will hide any objections the compiler might make
DMA1_Channel3 ->CMAR = (uint32_t) buffer[!currentBuffer][layer]; This might be more explicit DMA1_Channel3 ->CMAR = (uint32_t) &buffer[!currentBuffer][layer][0]; Check that the DMA isn't flagging some kind of error condition, and that your reinitialization of the DMA is sufficient to restart it.2016-02-20 02:17 PM
I looked into the DMA flags. The error flag is 0, so no error :(
2016-02-26 01:42 PM
bump
2016-02-27 08:12 AM
What is the value of SYSCFG_CFGR1.USART1_RX_DMA_RMP?
JW2016-02-28 01:42 AM