问题描述:ADIS16477-3BMLZ的SPI通信问题,发送了正确的时序,却得到了不稳定的输出。
MASTER:MK64-FRDM
时钟频率:937.5 kHZ(ADIS16477要求<2M burstread要求<1M)
SPI配置:CPHA=1 CPOL=1 MSB FIRST 16BITMODE
编程发出的时序如下图所示,而却读不出来正确的id号,并且收到的值会有变动,有时候会读出来0x405D(正确ID)而有时候又会读出别的数据。而发送2个周期的时序却怎么也读不出0x405D这个ID号。之后用示波器去查看ADIS16477的波形,并对照datasheet中的表中参数,发现所有条件均符合标准。连线时按照SPI的基本接法连线的,实在是找不出来问题,有没有哪位大佬能给出个主意。
问题已经找到了,谢谢了。原因是miso需要接电阻拉低,不是程序的问题,而是硬件连接的问题。
你好,那我把SPI所有通信信号拉高,会对数据造成影响吗?我这边测试在比较抖的路面上测试,加速度得到的数值跳变很大