Соединяю плату на Cortex-A8 со встраиваемым линуксом и платку датчиков на STM32F100RB. Обмен данными осуществляется по SPI. STM в режиме Slave.
Возникают следующие проблемы:
Не понятно как отследить окончание передачи данных с мастера. Флаг BSY не годится, так как он переключается после каждого байта. (между байтами он считает, что шина свободна).
Во многих устройствах эта проблма решается с помощью CS. Как только чип перестает быть выбранным- считается, что транзакция окончена. А у STM32 есть какой-то странный пин NSS. Который, как я понял, предназначен для выбора режима Master/Slave, а не для "активации". По крайней мере ни одного флага не связано с этим пином.
Либо я что-то не так понимаю, либо SPI в STM32 какой-то странный...