SPI 传输长度超过 1024 时出现异常的问题分析总结详细文档:点击下载> 一、问题背景客户使用STM32U595QII6Q 芯片的 SPI3 作为主设备,通过 HAL 库 SPI 相关发送函数与外设通信时,发现传输数据长度超过 1024 字节 ,发送完成的回调函数 二、问题复现因无对应开发板,使用NUCLEO-U575ZI-Q 进行复现,步骤及结果如下:
三、问题根因分析
四、解决方案与优化建议针对 STM32U5 系列 MCU 的 SPI3 长度限制问题,对 HAL 库的 SPI_DMA 驱动代码进行修改,增加长度校验逻辑 ,避免因配置超出硬件限制导致的通信异常,修改后核心代码如下: c 运行
五、核心结论使用STM32U575/U585/U595 系列 MCU 的 SPI3 进行通信时,需严格注意传输数据长度不可超过 1023 字节 ,若有大长度数据传输需求,可通过分包传输 的方式实现,或更换为无长度限制的 SPI1、SPI2 外设。 |
经验分享 | 使用EXIT0同步触发SPI的DMA发送话题
经验分享 | STM32H723 SPI 通讯异常排查:实时观察窗口的 “隐形干扰” 解决方案
【STM32C0评测】4、驱动Lorasx126x,实现透传
经验分享 | STM32 SPI半工单线通信示例
经验分享 | 多个SPI的DMA传输为何仅1个有效?
经验分享 | STM32C0 HAL 库的 SPI 驱动导致的 Hardfault 问题分析
经验分享 | SPI传输时为何丢失2个数据?
经验分享 | STM32H7 EXTI + SPI +DMA 双缓冲应用演示
使用Nano板验证驱动SPI串口屏的颜色显示
【经验分享】STM32的SPI的原理与使用(W25Q128附代码)
微信公众号
手机版