你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
STM32隐藏
5.18活动板子会不会是STM32L4呢
STM32 CUBE软件中找不到STM32L4系列单片机
Your UAT Feedback is needed within today.
应用
AAA
测试测试12345
群
tiwen
BBBB
RE:STM32F0系列SPI问题
回复:STM32F0系列SPI问题
这个是以前用在051R8上的SPI读写函数,可以参考一下
/*******************************************************************************
函数名称:SD_Write_Byte()
功 能:向SPI总线发送一个数据
参 数:无
返回值 :无
********************************************************************************/
void SD_Write_Byte(unsigned char dat)
{
/* 判断发送缓冲是否为空 */
while(SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_TXE) == RESET);
/* 发送字节 */
SPI_SendData8(SD_SPI, dat);
/* 判断接收缓冲是否为空*/
while(SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_RXNE) == RESET);
/* flush data read during the write */
SPI_ReceiveData8(SD_SPI);
}
/*******************************************************************************
函数名称:SD_Read_Byte()
功 能:从SPI总线读取一个数据
参 数:无
返回值 :无
*******************************************************************************/
unsigned char SD_Read_Byte(void)
{
unsigned char Data = 0;
/* 判断发送缓冲是否为空 */
while (SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_TXE) == RESET)
{
}
/* 发送字节 */
SPI_SendData8(SD_SPI, 0xFF);
/* 判断接收缓冲是否为空 */
while (SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_RXNE) == RESET)
{
}
/* 获取接收到的数据 */
Data = SPI_ReceiveData8(SD_SPI);
return Data;
}