2024-05-12 05:33 PM
When writing through a translator, I apologize in advance for any awkward sentences.
I am a developer who started working with STM32 less than a year ago.
I'm currently working on a project at my company using the STM32F767.
What I set up was simply Transmit Only Slave, and I set SPI 1, 2, and 3 channels to DMA respectively
to send values whenever the other party requests data.
SPI1 = DMA2 Stream3
SPI2 = DMA1 Stream6
SPI3 = DMA1 Stream5
It was set up in a circular manner.
The problem occurred when the other party's SPI request came at a frequency of approximately 10kHz.
The data of SPI2 and SPI3 were displayed normally, but the data of SPI1 was displayed as different data
than the data I sent. For example, if you sent 10, 5 and 20 were displayed on the receiving end.
Please advise on why the above problem occurred.
2024-05-12 06:57 PM
Formatting makes this very difficult to read. Perhaps cut-n-paste without formatting.
On the F7 use DTCM RAM for DMA
If.you use DMA you are going to have to be aware of cache coherency and alignment.