В общем не так давно пришлось принимать данные по SPI на stm32f0 оказалось это не так тривиально как ожидал. Теперь задача стоит такая же только мастер(stm32f4) и slave(stm32f0) уже мой.
В прошлый раз реализовал так:
1) Ожидаем прерывание 1->0 по CS(настраиваем SPI, так как только через reset spi очищаться буффер в stm32f0)
1.1) Включаем прерывание по CS из 0->1 (выключаем SPI)
2) Принимаем шапку через прерывания(вытаскиваем размер данных)
3) Настраиваем DMA по количеству данных
4) после завершения передачи spi и dma выключиться сам см пункт 1.1
Как нибудь по другому можно настроить ?
В прошлый раз реализовал так:
1) Ожидаем прерывание 1->0 по CS(настраиваем SPI, так как только через reset spi очищаться буффер в stm32f0)
1.1) Включаем прерывание по CS из 0->1 (выключаем SPI)
2) Принимаем шапку через прерывания(вытаскиваем размер данных)
3) Настраиваем DMA по количеству данных
4) после завершения передачи spi и dma выключиться сам см пункт 1.1
Как нибудь по другому можно настроить ?
