Pulitzer 发表于 2025-10-5 07:17

SPI读外设寄存器时数据总是错一位

SPI主机读取一个外设的寄存器,每次读回来的数据都偏一个bit位,像是时钟相位或极性不对,但我切换了CPOL/CPHA都不太对。逻辑分析仪波形也没看出问题。

Clyde011 发表于 2025-10-5 07:20

要不你用手动bit-bang试几次,确认真实数据节奏。

公羊子丹 发表于 2025-10-5 07:21

有可能是外设那边要求dummy bit,你少发了一拍。

周半梅 发表于 2025-10-5 07:22

我遇到过一次,SPI模式对了但数据长度设置错了。

帛灿灿 发表于 2025-10-5 07:23

建议你试着切换MSB/LSB顺序,看能不能对齐。

童雨竹 发表于 2025-10-5 07:24

有时线太长也会造成采样延迟一个bit。

万图 发表于 2025-10-5 07:25

是不是片选信号提前拉低或延后释放?

Wordsworth 发表于 2025-10-5 07:26

你可以试着在片选拉高前加一点延时。

Bblythe 发表于 2025-10-5 07:27

我怀疑是SPI速度太高,外设还没准备好。

Pulitzer 发表于 2025-10-5 07:28

我之前调试AD7793也遇到这种错位问题。

Uriah 发表于 2025-10-5 07:28

逻辑分析仪有时候也会显示错位,取样率太低。
页: [1]
查看完整版本: SPI读外设寄存器时数据总是错一位