Действительно ли SPI нужен цикл ожидания?

Я использую msp430f5418 с рабочей средой IAR Embedded 5.10.

Графический ЖК-дисплей (ST7565R) подключен через SPI к MSP.

Ведущий MSP использует 8-битный режим первого старшего разряда с SMCLK.

Обычно мы должны проверять бит занятости перед передачей байта с помощью SPI, верно?

Но в моем случае, даже если я постоянно отправляю данные, не проверяя бит занятости, все работает нормально, и я могу правильно отображать отображаемые данные.

Кто-нибудь может объяснить, почему это работает??

Нужно ли проверять бит готовности или это безопасно??

Спасибо,


person Harikrishnan    schedule 09.04.2012    source источник


Ответы (1)


Ваше программное обеспечение, вероятно, достаточно медленное, чтобы spi-транзакция завершалась каждый раз. Если вы можете убедиться, что это так и всегда будет так, вы можете утверждать, что не нужно добавлять еще больше кода для проверки. Удаление кода, выполняющего проверку, может ускорить вашу процедуру настолько, что станет слишком быстрой для интерфейса spi и вызовет коллизии.

В общем, вы должны убедиться, что одна вещь заканчивается до того, как начнется другая. И вообще как убедиться можно с помощью аппаратных возможностей или путем анализа или экспериментов. Если аппаратное обеспечение имеет эту функцию, и вы каким-то образом определили, что вам не нужна проверка, все равно рекомендуется провести тест производительности с проверкой и без нее. Если производительность не критична или нет большой разницы, возможно, все же безопаснее оставить проверку где-нибудь в будущем, даже если ваш код сильно прокомментирован с предупреждениями, компилятора или изменения кода может быть достаточно, чтобы этого не произошло. работа без чека.

person old_timer    schedule 09.04.2012
comment
Благодарим за ваше предложение - person Harikrishnan; 10.04.2012