[STM32F0] SPI从设备响应延迟,主机读取前几个字节总是错

[复制链接]
232|10
万图 发表于 2025-11-8 07:17 | 显示全部楼层 |阅读模式
主机是外部控制器,从设备是这颗MCU。发现每次主机发读命令后,前两个字节总是错的,后面又正常。逻辑分析仪看延迟大概几十纳秒,不知道是NSS没同步还是DMA启动太慢。
Clyde011 发表于 2025-11-8 07:22 | 显示全部楼层
有时候调个GPIO速度等级就能解决,别忽略细节。
公羊子丹 发表于 2025-11-8 07:23 | 显示全部楼层
我以前遇到这种延迟,是因为第一次DMA传输没准备好。
周半梅 发表于 2025-11-8 07:24 | 显示全部楼层
F0的SPI需要提前清空DR,否则首字节会错位。
帛灿灿 发表于 2025-11-8 07:25 | 显示全部楼层
看看是不是NSS信号没拉稳,有时电平没到位。
童雨竹 发表于 2025-11-8 07:26 | 显示全部楼层
我在HAL库下切换成LL后就正常,延迟少一点。
 楼主| 万图 发表于 2025-11-8 07:28 | 显示全部楼层
也可能是主机那边CS过快拉低,MCU还没ready。
Wordsworth 发表于 2025-11-8 07:29 | 显示全部楼层
SPI模式0/3的时钟相位弄错了也会这样。
Bblythe 发表于 2025-11-8 07:30 | 显示全部楼层
可以试下在中断里人工预装第一个字节。
Pulitzer 发表于 2025-11-8 07:31 | 显示全部楼层
我遇到过驱动里SPI_CR2的配置没同步生效。
Uriah 发表于 2025-11-8 07:32 | 显示全部楼层
逻辑分析仪多抓几次,看是不是稳定偏差还是随机。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

6541

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部