Я пишу на карту microSD из моей прошивки, но это задача с самым низким приоритетом, поэтому она может быть прервана другими задачами, когда она находится в процессе чтения / записи.
Теперь предположим, что я общался с этой картой microSD с помощью UART. Проблема во время чтения будет в том, что аппаратный RIF FIFO будет переполнен, поэтому максимальная задержка, которую я смогу приложить, будет (размер FIFO × байтов / секунду), и во время записи не будет проблем, потому что другой конец просто подождет, пока я отправить следующий символ.
Как это работает сейчас я использую SPI? Ситуация та же, что для записей это не имеет значения, а для операций чтения это зависит от размера SPI FIFO?
источник
При проверке копии спецификации (которую я не могу процитировать по причинам авторского права / NDA) частота SPI указывается, начиная с 0 Гц, что подразумевает статическую работу в порядке. В SPI вы возвращаете данные только во время синхронизации устройства, поэтому при использовании аппаратного SPI вы получите что-то только после отправки данных (даже если 0 / все равно). Таким образом, в этом отношении он отличается от UART, где вы можете получить незапрошенные данные в любое время.
источник