Please consider writing an article on how to configure I2C with DMA with MX
I've asked a question about using I2C with DMA. https://community.st.com/s/question/0D53W00001LUuCuSAL/is-there-a-guide-on-how-to-use-i2c-with-dma
I've had answers, but these were mostly advices to use an example. As I explained, in short: "learning directly from an example would be an exercise in cargo cult programming".
MX is a very useful tool to configure the µCU for beginners. (that is people who know programming but are not familiar with µCU, or are used to work on Arduino) but still require some knowledge.
I think an article that would offer
- an abstract overview of the process (that is, in this example, I2C using DMA),
- then a walkthrough the configuration (with explanations of the different setting possibilities, their with pros and cons, ...),
- and a description of functions
- and examples
would help users learn rather than copy code from an example and hope for the best.
It's also an opportunity for users to have a preview of surrounding topics they can dive deeper into if they want to.
In my case, using HAL drivers to use I2C in blocking mode was possible with a little googling and trial and error. Switching to DMA is tricky since most example codes or HAL drivers descriptions (such as UM 1785) don't address configuration with MX. Linking I2C with DMA, in addition to interrupts. is less intuitive than with I2C in blocking mode.