0

我正在研究 stm32f0308-discovery 和 jetson tx2 之间的 spi 通信。Jetson 是主人,stm32 应该是奴隶。(我知道怎么做,但如果可能的话 stm32 也可能是主人。)我的问题是我是 stm32 的新手,我不知道如何让 stm32 成为奴隶。有人可以告诉我 stm32 spi slave 的方法吗?提前致谢。

4

3 回答 3

1

您可以从阅读产品系列的参考手册开始。然后,您可以在 STM32Cube 软件包中找到 SPI 外设配置源代码示例。

如果您是 STM32 新手和微控制器生态系统的新手,恐怕您需要接受一些培训。但是网上有很多资源。

于 2019-07-31T14:32:25.617 回答
0

配置 SPI_InitTypeDef 结构时可以选择 SPI 模式。您需要将 SPI_Mode 设置为 Slave,如下所示:

SPI_InitDef.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitDef.SPI_Mode = SPI_Mode_Slave;       // <-- This is it
SPI_InitDef.SPI_DataSize = SPI_DataSize_8b;  // 8-bit transactions
SPI_InitDef.SPI_FirstBit = SPI_FirstBit_MSB; // set it to match Master conf
SPI_InitDef.SPI_CPOL = SPI_CPOL_Low;         // set it to match Master conf
SPI_InitDef.SPI_CPHA = SPI_CPHA_2Edge;       // set it to match Master conf
SPI_InitDef.SPI_NSS = SPI_NSS_Hard;          // use hardware SS

可以在此处找到使用蓝色药丸板的示例教程

于 2021-02-19T10:30:06.883 回答
0

是的。可以让STM32做从机。您唯一需要做的就是清除外设控制寄存器中的 MSTR 位。然后,您也许可以在 SPI 数据寄存器中加载一些值,然后可以从其他板上读取它们。

于 2022-01-13T17:13:23.483 回答