小编Hee*_*yos的帖子

SPI协议流程

嘿,我在自己的项目中使用 ADS1292,我自己对 SPI 协议感到困惑。

我在互联网上找到了一些代码,我发现它同时发送和接收。

例如,我想发送 0xFF 到从设备。

然后它首先发送数据并等待接收。

并且在接收数据时,发送一个虚拟字节然后接收。

有人请解释一下他们为什么这样做吗?

uint8_t sEE_ReadByte(void)
{
  return (sEE_SendByte(sEE_DUMMY_BYTE));
}

uint8_t sEE_SendByte(uint8_t byte)
{
  /*!< Loop while DR register in not empty */
  while (SPI_I2S_GetFlagStatus(sEE_SPI, SPI_I2S_FLAG_TXE) == RESET);

  /*!< Send byte through the SPI peripheral */
  SPI_SendData(sEE_SPI, byte);

  /*!< Wait to receive a byte => I do not understand this point*/
  while (SPI_I2S_GetFlagStatus(sEE_SPI, SPI_I2S_FLAG_RXNE) == RESET);

  /*!< Return the byte read from the SPI bus */
  return (uint8_t)SPI_ReceiveData(sEE_SPI);
}
Run Code Online (Sandbox Code Playgroud)

spi stm32 dummy-data

1
推荐指数
1
解决办法
2296
查看次数

标签 统计

dummy-data ×1

spi ×1

stm32 ×1