- embedded/
- Embedded 对于STM32F407发现板上的SPI通信,设置软件从机管理位意味着什么?
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外设控制