Режим SPI DMA CIRCULAR - stm32f4 - PullRequest
       86

Режим SPI DMA CIRCULAR - stm32f4

0 голосов
/ 12 июня 2019

Есть ли у кого-нибудь пример кода для передачи данных с помощью SPI в режиме DMA CIRCULAR для stm32? (16 бит) С моим кодом мастер отправляет 16-битные данные и в следующем цикле получает ответ.Но эта транзакция выполнена с задержкой в ​​один цикл.

1 Ответ

1 голос
/ 12 июня 2019

SPI должен работать таким образом.

Когда регистр данных SPI записывается в первый раз, он начинает отправку данных и немедленно сообщает контроллеру DMA, что он готов к следующему слову данных.Теперь в передатчике есть два слова данных, когда он только начал получать первое.Когда первое исходящее слово полностью передано и первое входящее слово полностью получено (это происходит почти одновременно), SPI начинает отправку второго слова, уже имеющегося в регистре данных, сигнализирует каналу DMA передачи, что он готов к третьему слову данных,Примерно в то же время он также сообщает принимающему каналу, что первое входящее слово данных готово.

enter image description here

...