STM32H7 SPI 踩坑记录

在使用 Art-Pi 的过程中,发现 SPI 正常初始化后调用发送函数卡死在:

1
2
3
4
5
/* Wait for Tx (and CRC) data to be sent */
if (SPI_WaitOnFlagUntilTimeout(hspi, SPI_FLAG_EOT, RESET, tickstart, Timeout) != HAL_OK)
{
SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
}

经 Google 后发现,是因为 CubeMX 中默认配置的 GPIO 翻转速度为 Low,无法产生 SPI 所需速度的使用信号……改为 High 后正常工作。

image-20210422000042112

DMA 暂未成功,待排查。

本网站所有文章除特别声明外,均采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。