Posted on July 11, 2017 at 17:53
Dear community,
I have run into a DMA-related issue while trying to implement an application for the STM32F407VG which receives data from a sensor via UART. The sensor sends a 162-byte data packet at 912600 bau...
Posted on July 25, 2017 at 10:33Wow, thanks for the detailed analysis! Sorry for the late answer, i was busy with race cars ;) I had lost my patience debugging this much earlier... So next time I should read the manual closer...
Posted on July 17, 2017 at 22:34Not sure whether that is forbidden by the manual if no bursts are used. I can't try it out right now, maybe in a few days.
Posted on July 17, 2017 at 21:54Oh. You're right. According to p. 315 of the reference manual, transfer sizes must be a multiple of MSIZE. I configured my sensor to send 164 bytes instead of 162 and everything works fine even with FIFO enabled. Kind...
Posted on July 17, 2017 at 13:29As you can see from my example, there is no other code and no other ISR's. It happens with and without a debugger. I don't use any libraries besides the HAL, and I don't use that for the DMA. I tried it with a separat...
Posted on July 12, 2017 at 01:29
Thanks for the reply! Good point, I don't know. Changing the ISR to
void DMA1_Stream1_IRQHandler (void) {
if (DMA1->LISR & DMA_LISR_TCIF1) {
state = 2;
// Disable DMA stream properly
dmaStream->CR = 0;
while ((...