F1用的官方库,SPI实现单发送驱动LCD,NSS片选不等数据发完就拉高了
GPIO_ResetBits(SPI2PORT, SPI2_NSS); //片选拉低
while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET); //若发送寄存器数据未发送完,循环等待
SPI_I2S_SendData(SPI2, Byte); //往发送寄存器写入要发送的数据
// while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET); //此句完全没用
GPIO_SetBits(SPI2PORT, SPI2_NSS); //片选拉高
配置的:
SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx; //SPI设置为单线发送模式
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //软控 |