1

我正在使用 STM32H7 系列微控制器作为 SPI 主发送设备,它需要与 4 个 SPI 从设备通信,这些设备也都是 STM32H7 MCU。主机和从机都配置为软件从机管理。令人困惑的是,在不使用硬件 NSS 引脚的情况下,从机如何识别主机何时想要与其交谈或向其传输数据?从设备如何在这种情况下开始接收并在所有数据传输时停止接收?

4

2 回答 2

2

这很简单。每个从机都有一个称为 CS 的引脚。您需要通过仅使用 GPIO 设置此引脚来选择此设备。然后您可以发送或接收数据。请记住,即使它只想接收数据,主机也必须提供时钟。

于 2019-12-01T19:43:32.423 回答
2

如果使用软件从选择(NSS),则必须通过软件选择取消选择SPI 接口。

通常,您会在用作 NSS/CS 的引脚上设置一个外部中断,并在触发中断时选择/取消选择 SPI 接口。

在 STM32F1 芯片上,通过设置/清除寄存器SSI中的位来选择/取消选择 SPI 接口SPI_CR1。我认为它在 STM32H7 芯片上非常相似。

更新

我刚刚检查了STM32H7,它完全一样。

于 2019-12-02T19:36:34.313 回答