Так вышло потому, что SPI тут сконфигурирован на частоте 36Мгц. SPI1 сидит на шине APB2, частота которой 72Мгц, делитель SPI выставлен на 2. При такой частоте и получаем 4.2кГц.
На самом деле я сам удивился, почему оно так заработало (Cube не позволяет сконфигурировать SPI на такой частоте, хотя через регистры все работает). Было бы конечно неплохо посмотреть с помощью осциллографа как там на самом деле, но такой возможности сейчас нет. Конечно никакого толку от такой частоты нет, все было сделано сугубо в академических целях в процессе обучения.
Если нагрузить МК параллельно вычислениями и работой с другой периферией, то с DMA будет быстрее, а так да, можно и на прерываниях сделать, работать будет так же.
Насчет ILI 9341 давно думал, надо заказать китайцам, но думаю 30 фпс по spi при полном обновлении экрана врятли получится, а вот через параллельный интерфейс вполне возможно.
На самом деле я сам удивился, почему оно так заработало (Cube не позволяет сконфигурировать SPI на такой частоте, хотя через регистры все работает). Было бы конечно неплохо посмотреть с помощью осциллографа как там на самом деле, но такой возможности сейчас нет. Конечно никакого толку от такой частоты нет, все было сделано сугубо в академических целях в процессе обучения.
Насчет ILI 9341 давно думал, надо заказать китайцам, но думаю 30 фпс по spi при полном обновлении экрана врятли получится, а вот через параллельный интерфейс вполне возможно.
Можно исправить так: