79684805

Date: 2025-06-30 13:07:31
Score: 0.5
Natty:
Report link

Test string is longer then the RX buffer. On 16th character TC interrupt is triggered, and while its beeing processed, DMA may still receive new characters into the same buffer, overwriting old ones.

This is incorrect way of handling continuous transfers with DMA. You must avoid writing new data to the buffer that is beeing processed by your code. Options are: double buffered mode or handling the half-transfer interrupt. And the buffer must be large enough to store new characters, while received half is being processed.

Reasons:
  • Long answer (-0.5):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: Flexz