Using the USART DMA Driver for receive, getting interrupt on rx timeout

1 post / 0 new
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The USART DMA Driver in ASF4/Start generates an interrupt at the end of the buffer:

When receiving data over USART DMA, the data buffer supplied by the user is used. The RX done callback will only be generated at the end of the buffer and not for each byte.



The chip provides support for variable-length frames with an interrupt on receiver timeout: Receiver Timeout
The Receiver Timeout provides support in handling variable-length frames. This feature detects an idle condition
on the RXD line. When a timeout is detected, the bit TIMEOUT in the US_CSR rises and can generate an
interrupt, thus indicating to the driver an end of frame.

How can I work with variable length frames and DMA, with the ASF4 drivers?


Thank you.



[Note: this is a cross-post; I hope that is acceptable on these forums.  I posted this and another, related, question in atmel-software-framework-asf-and-atmel-start-asfv4-all-architectures, and was advised to post it in the 32-bit forums for a better chance of a response, so I am doing the same with this, related, question.]