wangjunzy 发表于 2018-3-1 11:16:12

STM32F031 SPI Slave CRC

STM32F031 SPI Slave CRC enable;Frame Size=16;
每收到1个16Bit数据,为什么Keil工具里面看到RXCRCR都一直是0;

STM32F031 SPI Master CRC enable后,每次发送一个数据,TXCRCR就会实时计算,在变化

Slave代码用Cube产生
SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX;
SPI_InitStruct.Mode = LL_SPI_MODE_SLAVE;
SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT;
SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW;
SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE;
SPI_InitStruct.NSS = LL_SPI_NSS_HARD_INPUT;
SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST;
SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_ENABLE;
SPI_InitStruct.CRCPoly = 0x1021;
LL_SPI_Init(SPI1, &SPI_InitStruct);
LL_SPI_SetStandard(SPI1, LL_SPI_PROTOCOL_MOTOROLA);
LL_SPI_SetCRCWidth(SPI1, LL_SPI_CRC_16BIT);
LL_SPI_DisableNSSPulseMgt(SPI1);

bargagebaobei 发表于 2018-3-1 16:01:00

我理解的是spi收到数据之后自动进行解校验,并不需要咱们关心这个

nyszx 发表于 2018-3-1 21:16:45

CRCERR是否置位了?SPIx_CRCPR多项式值是否正确?

nyszx 发表于 2018-3-1 21:17:50

顺带一句楼主标题似乎不合乎规定,表述不清晰;P
页: [1]
查看完整版本: STM32F031 SPI Slave CRC