我用MXCube产生SPI Slave初始化代码;
发现产生的代码,没有波特率Field;
我设置的CPOL=0,CHPA=0;
结果,运行起来后,CHPA老是=1;
原来是缺了红色这一行导致,虽然对于Slave,Baudrate配置没有用,但是对于结构体不能少。
增加这一行后,CHPA配置正确了。
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.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV128;
SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST;
SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_ENABLE;
SPI_InitStruct.CRCPoly = 0x1021;
LL_SPI_Init(SPI1, &SPI_InitStruct); |