Проблема с SPi Slave
Добавлено: Сб дек 26, 2015 16:12:49
Добрый день.
Есть мастер который периодически передает массив данных в slave и анализирует то чем ответил slave.Массив защищен CRC.
Синхронизация приема slav-ом осуществляется по фронту CS(внешнее прерывание.В нем проверяю CRC, забираю посылку и переинициализирую DMA tx и rx).
Также если возникает ошибка по CRC - пакет считаю не действительным и все переинициализирую.
Возникла проблема. Мастером каждые 10 мс передаю данные - слейв все хорошо принимает и отвечает.Делаю переподключение на горячую - связь также восстанавливается.
Но заметил такую штуку.Если я мастером передаю данные , а на слейве просто ставлю точку останова.Потом снова запускаю.Связь может N- ое колличество раз востановится корректно, а иногда - слейв принимает корректную посылку, а отвечает мастеру начиная с последнего байта массива.И так идет постоянно.Такое впечатление, что не протирается после переинициализации сдвиговый регистр SPI.Хотя тогда почему прием данных от Мастера правильный. Сталкивался ли кто с такой проблемой?
Slave - stm32f205RE
Master - Rasberry
Есть мастер который периодически передает массив данных в slave и анализирует то чем ответил slave.Массив защищен CRC.
Синхронизация приема slav-ом осуществляется по фронту CS(внешнее прерывание.В нем проверяю CRC, забираю посылку и переинициализирую DMA tx и rx).
Также если возникает ошибка по CRC - пакет считаю не действительным и все переинициализирую.
Возникла проблема. Мастером каждые 10 мс передаю данные - слейв все хорошо принимает и отвечает.Делаю переподключение на горячую - связь также восстанавливается.
Но заметил такую штуку.Если я мастером передаю данные , а на слейве просто ставлю точку останова.Потом снова запускаю.Связь может N- ое колличество раз востановится корректно, а иногда - слейв принимает корректную посылку, а отвечает мастеру начиная с последнего байта массива.И так идет постоянно.Такое впечатление, что не протирается после переинициализации сдвиговый регистр SPI.Хотя тогда почему прием данных от Мастера правильный. Сталкивался ли кто с такой проблемой?
Slave - stm32f205RE
Master - Rasberry