28335与ADS8568的SPI通信问题:
在给了convst信号并且片选使能ADS8568后,先SPI发送一个数据给从模块ADS8568,然后读取到ADS8568的模拟量采集值,
发现只能读取到第1通道,其它7通道全部与1通道一样,请问是说明原因?8个通道读取不是通过
Gaabb[0]=SpiaRegs.SPIRXBUF;
Gaabb[1]=SpiaRegs.SPIRXBUF;
Gaabb[2]=SpiaRegs.SPIRXBUF;
Gaabb[3]=SpiaRegs.SPIRXBUF;
Gaabb[4]=SpiaRegs.SPIRXBUF;
Gaabb[5]=SpiaRegs.SPIRXBUF;
Gaabb[6]=SpiaRegs.SPIRXBUF;
Gaabb[7]=SpiaRegs.SPIRXBUF;
就行了吗?究竟通过SPI读取ADS8568的转换结果是怎样的,看时序图不是就先给CONVT(先高后底模拟上升沿),再片选使能,再根据BUSY/INT判断
已经转换完毕则直接连续读取8个字的转换结果就行了吗?为什么只能读到通道1的,比较困惑,请指教!
user151383853:
这种情况, 也可能跟通信时序有关, 你也考虑再检查一下.
xyz549040622:
你这个读取的不对,读取的是同一个spi寄存器的缓存值,这个值没经过更新,肯定还是一模一样的数据的。8路ad数据通过一个spi接口传数据,起码应该连续读取8次.如果你用的是dma的话,也应该是读取不同的数组缓存值了。