你好
我使用的是 s32ds RTD4.0.0 和 s32k314。
我正在发展 spi 交流。
我的 Spi mode1,2 测试正常(cpol 0, cpha 1 / cpol0, cpha 0)。
这种模式运行良好。
但我应该使用 Spi 模式 3,但效果不佳。数据有裂缝。
所以我检查时钟。
spi 时钟。
1.png
因此,在时钟启动之前,有一个奇怪的时钟。
S32K314 为什么要这样做?每种模式都一样。
幸运的是,读取模式 1 和 2 是因为它们的时钟IDLE状态为 0。但是,当模式3和4的时钟IDLE状态为1时,会被读取,因此由于该照片中的时钟,出现了问题。
1.怎样才能在时钟启动前消除噪音?
2.我使用 PS0 进行 SPI 通信。但是,要从支持 SPI 的 IC 芯片接收数据,我需要通过 GPIO 将 CS(临界状态)设置为低以接收 4 字节以确定数据长度,然后保持 CS 以接收不超过该长度的数据。目前,我通过 GPIO 控制 CS 来接收数据,如图所示(仅供参考)。请告诉我是否有办法通过将其分配给 PS0 来实现这一功能。
注:SPI 通信模式 1 和 2 运行良好,但模式 3 和 4 运行不正常。(由于时钟的原因,插入了有趣的数据)。
感谢帮助。
你好@rlaxortn
1.关于您的第一个问题,时钟在开始时被拉低,这与已知问题的描述类似。
image.png
您可以尝试进行如下修改:
image.png
2. 关于你的第二个问题,我不明白你为什么没有一次发送 4 + 19 = 23 位的全部长度,而不是分别发送 4 和 19 字节。