Доброго времени суток.
Пытаюсь настроить STM'ку в режиме slave. Если точнее - хочу сделать сдвиговый регистр, чтобы формировать последовательность по внешнему клоку, но суть не в этом. Не хочет работать в режиме Slave совсем. Код такой:
Код
palSetPadMode(GPIOB, 4, PAL_MODE_ALTERNATE(5)); // MISO
palSetPadMode(GPIOB, 3, PAL_MODE_ALTERNATE(5)); // MOSI (Unused)
palSetPadMode(GPIOB, 5, PAL_MODE_ALTERNATE(5)); // SCK
rccEnableSPI1(FALSE);
SPI1->CR1 = 0;
SPI1->CR1 = SPI_CR1_SSM | SPI_CR1_SPE;
while (true) {
if(SPI1->SR & SPI_SR_TXE) {
SPI1->DR = 0xAA;
}
После первой записи в DR, TXE=0 всегда. На MISO ничего не появляется вообще. Клок на SCK (1 Мгц) выдаю с таймера. Если я правильно понимаю, то установка SSM=1 SSI=0, эквивалентна подключению NSS->0, казалось бы должно работать... В режиме мастер все ок. Куда копать?