【问题标题】:stm32 spi full-duplex slave modestm32 spi全双工从机模式
【发布时间】:2023-03-16 19:11:01
【问题描述】:

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

【问题讨论】:

    标签: stm32 spi stm32f4discovery slave nvidia-jetson


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!我只使用 2 个设备,它们是主设备和从设备,并且 NSS 也已激活。我想知道是否有必要,因为当我尝试从 stm32(从设备)读取数据时,必须有中断才能使用读取数据功能。我应该使用 NSS 中断还是有什么办法?
    【解决方案2】:

    您可以在配置 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
    

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

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 1970-01-01
      • 2017-04-14
      • 2018-04-10
      • 2019-04-06
      • 2019-06-14
      • 1970-01-01
      • 2020-03-01
      • 2021-11-22
      相关资源
      最近更新 更多