ST意法半导体
直播中

李泳瑜

7年用户 1120经验值
私信 关注
[问答]

SPI通信的GPIO ST示例未设置问题求解?

亲爱的 ST 您好,
我正在使用 ST 示例进行 SPI 通信,以开始使用 STM32F429i-discovery。
这是主文件的标题。
  • ******************************************************************************
  • * @file  SPI/SPI_FullDuplex_ComPolling/Src/main.c
  • * @author MCD Application Team
  • * @brief  This sample code shows how to use STM32F4xx SPI HAL API to transmit
  • *     and receive a data buffer with a communication process based on
  • *     Polling transfer.
  • *     The communication is done using 2 Boards.
  • ******************************************************************************
这是项目的链接:
STM32Cube_FW_F4_V1.24.0ProjectsSTM32F429I-DiscoveryExamplesSPISPI_FullDuplex_ComPollingSW4STM32
我的问题是:
1/ST是否为Clk MOSI MISO和CS配置了GPIO?
2/在main.h文件中,没有CS的定义,
/* SPIx 引脚的定义 */
  • #define SPIx_SCK_PIN           GPIO_PIN_2
  • #define SPIx_SCK_GPIO_PORT        GPIOE
  • #define SPIx_SCK_AF           GPIO_AF5_SPI4
  • #define SPIx_MISO_PIN          GPIO_PIN_5
  • #define SPIx_MISO_GPIO_PORT       GPIOE
  • #define SPIx_MISO_AF           GPIO_AF5_SPI4
  • #define SPIx_MOSI_PIN          GPIO_PIN_6
  • #define SPIx_MOSI_GPIO_PORT       GPIOE
  • #define SPIx_MOSI_AF           GPIO_AF5_SPI4
此设备的 CS 是否为自动 CS?









回帖(1)

李麒

2023-1-16 14:44:49
> 1/ST 是否为 Clk MOSI MISO 和 CS 配置了 GPIO?
SPI 引脚配置在 stm32f4xx_hal_msp.c 中执行:
https://github.com/STMicroelectronics/STM32CubeF4/blob/master/Projects/STM32F429I-Discovery/Examples/SPI/SPI_FullDuplex_ComPolling/Src/stm32f4xx_hal_msp.c#L67
在此示例中,未使用 CS 引脚。请参阅自述文件中的图表。
https://github.com/STMicroelectronics/STM32CubeF4/tree/master/Projects/STM32F429I-Discovery/Examples/SPI/SPI_FullDuplex_ComPolling
如果您需要使用 CS 引脚,我建议将其初始化为 GPIO 引脚,并在调用 HAL_SPI_(传输和/或接收)等之前/之后手动切换它。
> 你能告诉我 __weak 关键字的用途是什么吗?
如果你定义一个函数两次并且其中一个定义是弱的,链接器将使用非弱定义而弱定义将被丢弃。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分