ST意法半导体
直播中

王锦霞

7年用户 966经验值
私信 关注
[问答]

STM32F051r8t6 SPI初始化问题求解

你好。
我正在尝试在我的 STM32F0 发现板上使用 STM32F051r8t6 micro 中的 SPI 接口。我让它发送数据,但我将数据长度设置为 8 位,它发送的是两倍(第一个 8 是我的数据,但第二个 8 位始终是 0x00)。当我将它设置为 4 位时,它发送 8 位(前 4 位是我的数据,后 4 位是 0x0)。我缺少什么?那是CRC的事吗?
  • SPI1->CR1 &= ~((SPI_CR1_CPHA) | (SPI_CR1_CPOL) | (SPI_CR1_CRCEN));                                                //set phase and polarity to 0
  •         SPI1->CR1 |= (SPI_CR1_MSTR) | (SPI_CR1_BR_1) | (SPI_CR1_SSM ) | (SPI_CR1_SSI);                        //set spi to master and clock to /8 and software slave to 1
  •         SPI1->CR2 = (SPI1->CR2 & (~SPI_CR2_DS)) | (SPI_CR2_DS_2) | (SPI_CR2_DS_1) | (SPI_CR2_DS_0);         //spi 8-bit
  •         SPI1->CR1 |= (SPI_CR1_SPE);                                                                                                                                //turn on spi
  •         SPI1->DR = 0xaa;
在 8 位选择:










更多回帖

发帖
×
20
完善资料,
赚取积分