实现代码如下
void init_spi(void)
{
SPI_DeInit();
GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_IN_PU_NO_IT);
GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOC,GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_FAST);
SPI_Init(SPI_FIRSTBIT_MSB,SPI_BAUDRATEPRESCALER_2,\
SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW,\
SPI_CLOCKPHASE_1EDGE,\
SPI_DATADIRECTION_2LINES_FULLDUPLEX,\
SPI_NSS_SOFT,7);
SPI_Cmd(ENABLE);
}
u8 spi_rw(u8 byte)
{
while(SPI_GetFlagStatus(SPI_FLAG_TXE)==RESET);
SPI_SendData(byte);
while(SPI_GetFlagStatus(SPI_FLAG_RXNE)==RESET);
byte=SPI_ReceiveData();
return byte;
}