SPI配置要点
SPI_DeInit(SPI1);
SPI_Init(SPI1, SPI_FirstBit_MSB, SPI_BaudRatePrescaler_8, SPI_Mode_Master,
SPI_CPOL_Low, SPI_CPHA_2Edge, SPI_Direction_2Lines_FullDuplex,
SPI_NSS_Soft, (uint8_t)0x07);
SPI_FirstBit_MSB:高位在前
SPI_BaudRatePrescaler_8:波特率,时钟分频,一般配为125K;
SPI_Mode_Master:MCU为主机,其他外设为从机,支持SPI总线;
SPI_CPOL_Low:时钟空闲为低
SPI_CPHA_2Edge:第二个边沿开始读数(看器件是下降沿还是上升沿有效,结合SPI_CPOL_Low看是SPI_CPHA_1Edge还是SPI_CPHA_2Edge)
SPI_Direction_2Lines_FullDuplex:双线通信;
SPI_NSS_Soft:软件控制,即器件的片选信号单独控制,软件拉低拉高,SPI总线;
CRCPolynomial:SPIx->CRCPR 没有启用校验,片子复位默认值为0x07,所以此处设置为0x07.
要点在于查看器件的SPI模式,即CPOL和CPHA(电平和相位)。