LightElf (14.05.2014 12:34, просмотров: 2745)
STM32F030 SPI: как оборвать прием в slave режиме? Ситуация: SPI в режиме слейва, RXONLY, софтверный NSS. Из-за помех прилетает лишний/неприлетает нужный битик. Соответственно посылка "съезжает". В сдвиговом регистре остается несколько бит. Как их сбросить, чтобы следующий пакет правильно начал приниматься? Пробую так:
SPI1->CR1 &= ~SPI_CR1_SPE;
__ISB();
SPI1->CR1 |= SPI_CR1_SPE;
__ISB();
while (SPI1->SR & SPI_SR_RXNE) (void)SPI1->DR;
не помогает. Куда бечь?
Не надо делать мне как лучше, оставьте мне как хорошо