无法获取采样数据
- 核对SPI管脚配置,片选信号配置,以及数据线调换配置和数据高低位优先配置。发现数据线是需要调换的。顺便确认了SPI数据高低位为高位优先。
- 仍旧无法获取数据,但是启动时读取部分数据为0x28,为设备ID。
- 编写命令读取设备寄存器,同时阅读文档修改传输命令位数为24位
- 能够顺利读取寄存器数值,理论上SPI配置和读取操作是正确的
硬件发现错误
- 硬件发现没有ads130没有连接时钟信号
改造后完全无法获取数据
- SPI数据读取操作都错误
- 硬件测量CS信号无输出
- 修改CS信号为GPIO控制,可以正常输出, 说明硬件上可以导通
- 郁闷了很久, 软件没有修改, 硬件上只是接了ads131的时钟,并且还把子板去掉了,理论上是没有这部分的干扰的。
- 检查代码,发现可能没有执行SPI收发操作
- 在收发操作前执行打印,发现没有打印,结合硬件之前提到的BUSY信号发生了变化,发现程序对于BUSY信号的处理导致SPI收发未执行
总结
- 如果可以的话,自己检查一下硬件原理图确保正确,毕竟硬件人员也可能犯错
- 如果程序和硬件都没有改变,确认真的没有改变。
- 不仅仅硬件修改错误可能会导致程序出问题,硬件修改正确也可能导致程序出问题,这时因为两者是相辅相成的,硬件修改了程序也有可能需要作出对应的修改以适应硬件。