SPI 读取数据'错位'
GaoSheng Lv4

在FAE群里面有人说SPI读取的数据出现了错位,然后这个问题我刚好遇到过,遂记录一下
微信图片_20250314231545
可以观察到其实这组数据还是很有规律的

1
2
3
4
5
正确数据
01 02 03 04 05 06 07 08 09

错位数据
80 81 01 82 02 83 03 84 04

每个字节的最高位变成了 1(0x80, 0x81, 0x82, 0x83)
低 7 位数据仍然有部分对得上
这个现象通常是 数据整体左移了一位,即 最左边多出一个 1,最后一个位丢失。
这种情况一般是SPI的模式主从两边不一致导致的,比如SCK空闲电平错误,就会导致第一个电平读取的时机错误
以02错码成81举例:0000 0010,首先左移一位,变为 0000 0001,又由于第一个bit,读取的时机错误,相当于多加了一个1,变为 1000 0001,即81
微信图片_20250314232215

本站由 提供部署服务