Проблема с SPi Slave

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
halisi
Родился
Сообщения: 19
Зарегистрирован: Пн мар 11, 2013 01:46:59

Проблема с SPi Slave

Сообщение halisi »

Добрый день.
Есть мастер который периодически передает массив данных в slave и анализирует то чем ответил slave.Массив защищен CRC.
Синхронизация приема slav-ом осуществляется по фронту CS(внешнее прерывание.В нем проверяю CRC, забираю посылку и переинициализирую DMA tx и rx).

Также если возникает ошибка по CRC - пакет считаю не действительным и все переинициализирую.

Возникла проблема. Мастером каждые 10 мс передаю данные - слейв все хорошо принимает и отвечает.Делаю переподключение на горячую - связь также восстанавливается.
Но заметил такую штуку.Если я мастером передаю данные , а на слейве просто ставлю точку останова.Потом снова запускаю.Связь может N- ое колличество раз востановится корректно, а иногда - слейв принимает корректную посылку, а отвечает мастеру начиная с последнего байта массива.И так идет постоянно.Такое впечатление, что не протирается после переинициализации сдвиговый регистр SPI.Хотя тогда почему прием данных от Мастера правильный. Сталкивался ли кто с такой проблемой?

Slave - stm32f205RE
Master - Rasberry
Ответить

Вернуться в «ARM»