Первые 8 бит мои, остальные нули. CRC отключен , длинна данных выбрана 8 бит. Откуда же берутся лишние биты ?
Код
RCC->APB2RSTR|=RCC_APB2RSTR_SPI1RST; //сброс настроек SPI1
RCC->APB2RSTR&=~RCC_APB2RSTR_SPI1RST;
SPI1->CR1|=SPI_CR1_MSTR; // мастер
SPI1->CR2&=~SPI_CR2_DS; //
SPI1->CR2|=SPI_CR2_DS_0|SPI_CR2_DS_1|SPI_CR2_DS_2; // данные 8 бит
SPI1->CR1|=SPI_CR1_SSM; //
SPI1->CR1|=SPI_CR1_SSI; // непонятно зачем, но без этого не работает из-за внутреннего конфликта сигналов
SPI1->CR1|=SPI_CR1_SPE; //включили SPI1
SPI1->DR=0xFF; //передаём данные
while(1){}
RCC->APB2RSTR&=~RCC_APB2RSTR_SPI1RST;
SPI1->CR1|=SPI_CR1_MSTR; // мастер
SPI1->CR2&=~SPI_CR2_DS; //
SPI1->CR2|=SPI_CR2_DS_0|SPI_CR2_DS_1|SPI_CR2_DS_2; // данные 8 бит
SPI1->CR1|=SPI_CR1_SSM; //
SPI1->CR1|=SPI_CR1_SSI; // непонятно зачем, но без этого не работает из-за внутреннего конфликта сигналов
SPI1->CR1|=SPI_CR1_SPE; //включили SPI1
SPI1->DR=0xFF; //передаём данные
while(1){}