Embedded 对于STM32F407发现板上的SPI通信,设置软件从机管理位意味着什么?

Embedded 对于STM32F407发现板上的SPI通信,设置软件从机管理位意味着什么?,embedded,stm32,Embedded,Stm32,我正在学习嵌入式开发,并尝试使用SPI协议与discovery board上的加速计(LIS3DSH)通信。我只使用CMSIS头,因此我必须直接与寄存器交互 根据示意图,这些是电路板用于与加速计通信的引脚: PA5:SPI1_SCK PA7:SPI1_MOSI PA6:SPI1_MISO PE3:CS_I2C/SPI 从我对SPI协议的理论理解来看,每当我想在主设备和从设备之间接收或传输数据时,我首先需要拉下CS引脚(PE3),然后开始通信。LIS3DSH用户手册似乎也证实了这一点 但现在我

我正在学习嵌入式开发,并尝试使用SPI协议与discovery board上的加速计(LIS3DSH)通信。我只使用CMSIS头,因此我必须直接与寄存器交互

根据示意图,这些是电路板用于与加速计通信的引脚:

  • PA5:SPI1_SCK
  • PA7:SPI1_MOSI
  • PA6:SPI1_MISO
  • PE3:CS_I2C/SPI
从我对SPI协议的理论理解来看,每当我想在主设备和从设备之间接收或传输数据时,我首先需要拉下CS引脚(PE3),然后开始通信。LIS3DSH用户手册似乎也证实了这一点

但现在我对SSM的含义感到困惑。根据电路板的用户手册,这是软件从机管理位的功能:

设置SSM位时,NSS引脚输入将替换为SSI位的值

NSS引脚只是从选择引脚,对吗?这意味着在这种情况下是PE3

SSI位是SPI_CR1寄存器上的第8位。这是否意味着我应该切换这个SSI位而不是PE3?这是没有意义的,因为董事会怎么知道PE3是相关的CS引脚

那么,如果有的话,CS引脚/线路和SSM位是如何相关的呢

如果它们不相关,我是否需要将PE3引脚配置为备用功能模式和上拉,然后在每次需要使用SPI与加速计通信时将其拉低

当SPI外设处于从属模式时,NSS引脚是其他设备用作CS的输入,或者可以用作支持多主配置的输出

如果在单主模式下操作SPI,则根本不使用引脚

此外,SPI1_NSS是PA4或PA15的替代功能,因此在您的情况下与PE3上的CS GPIO无关。在主模式下,任何数量的可用GPIO引脚都可以用作同一SPI总线上每个外设的CS线,并由软件驱动-它不是“替代功能”,也不是SPI外设的一部分或由SPI外设控制