无法获取采样数据

  1. 核对SPI管脚配置,片选信号配置,以及数据线调换配置和数据高低位优先配置。发现数据线是需要调换的。顺便确认了SPI数据高低位为高位优先。
  2. 仍旧无法获取数据,但是启动时读取部分数据为0x28,为设备ID。
  3. 编写命令读取设备寄存器,同时阅读文档修改传输命令位数为24位
  4. 能够顺利读取寄存器数值,理论上SPI配置和读取操作是正确的

硬件发现错误

  1. 硬件发现没有ads130没有连接时钟信号

改造后完全无法获取数据

  1. SPI数据读取操作都错误
  2. 硬件测量CS信号无输出
  3. 修改CS信号为GPIO控制,可以正常输出, 说明硬件上可以导通
  4. 郁闷了很久, 软件没有修改, 硬件上只是接了ads131的时钟,并且还把子板去掉了,理论上是没有这部分的干扰的。
  5. 检查代码,发现可能没有执行SPI收发操作
  6. 在收发操作前执行打印,发现没有打印,结合硬件之前提到的BUSY信号发生了变化,发现程序对于BUSY信号的处理导致SPI收发未执行

总结

  1. 如果可以的话,自己检查一下硬件原理图确保正确,毕竟硬件人员也可能犯错
  2. 如果程序和硬件都没有改变,确认真的没有改变。
  3. 不仅仅硬件修改错误可能会导致程序出问题,硬件修改正确也可能导致程序出问题,这时因为两者是相辅相成的,硬件修改了程序也有可能需要作出对应的修改以适应硬件。