2025-04-10 1:29 AM - edited 2025-04-10 2:00 AM
Hi, I would be happy to consult,
I am trying to implement the following with FREErtos and DMA NUCLEO-H743ZI2
I want to receive packets sequentially on UART at some frequency.
To parse the packets and then save only the valid ones for later use.
What is the best way to approach this?
https://github.com/karlyamashita/Nucleo-G071RB_UART_DMA_Idle_Circular
https://github.com/karlyamashita/Nucleo-G431RB_Three_UART/wiki
I found that it looks really good but without FREErtos and parser.
And its using Normal mode in RX dma and not circular.
Do you think this is a good basd and can it be converted relatively easily?
And if so, what is the correct way to approach this?
Thank you very much
2025-04-10 2:50 AM
Both projects have the same approach by having a message queue which you can parse. The only exception is that the circular project has an extra step of parsing through the circular buffer prior to placing the message in a message queue.
You can implement either project in a RTOS environment. Just picture the PollingRoutine() function as a task.
2025-04-10 2:55 AM - edited 2025-04-10 3:10 AM
Can I use the circular project with multiple UARTS?
And if so whats the best way doing so?
And i see that the 3UART you used normal mode not circular and you are not using the big buffer.
You just writing directly into the queue so how you can parse there?
Thanks alot