TIwilliam hill官网
直播中

李浯

7年用户 1080经验值
私信 关注
[问答]

配置了ADS1292R双通道采样,每一个DRDY下降沿触发中断读取数据,但是总是读几个数据就会卡住,为什么?


  • 如题,我配置了ADS1292R双通道采样,每一个DRDY下降沿触发中断读取数据,但是总是读几个数据就会卡住,DRDY不再置低,此时ADS1292R应该不正常工作了,采样率降低也是一样的情况,不知道是软件还是硬件的问题。中断中如果不读取数据ADS1292R是连续转换的,连续读几次数据就不动了。

回帖(3)

孙婷婷

2024-12-14 09:42:40
  你尝试过不用中断,使用while()循环读取是否无误呢?说实话,用ADS1230的中断调过很久,后来放弃了,用中断就是有问题。
举报

张依弛

2024-12-14 09:42:55
是不是有外部的中断打扰了呢
举报

无人岛

2024-12-14 15:46:09
根据您的描述,问题可能出在硬件连接、软件配置或中断处理上。以下是一些建议和可能的解决方案:

1. 检查硬件连接:确保ADS1292R与您的微控制器之间的连接正确且稳定。检查电源、地线、数据线和时钟线是否连接正确,以及是否有短路或断路的情况。

2. 检查SPI通信:确保您的SPI通信配置正确,包括时钟频率、CPOL、CPHA等参数。错误的SPI配置可能导致数据传输不稳定或失败。

3. 检查中断处理:确保您的中断服务例程(ISR)正确处理DRDY信号。在ISR中,您需要读取数据并清除DRDY标志,以便ADS1292R可以继续发送新的数据。如果没有正确处理DRDY信号,ADS1292R可能会停止发送数据。

4. 检查缓冲区管理:确保您的软件中有足够的缓冲区来存储从ADS1292R读取的数据。如果缓冲区溢出或不足,可能会导致数据丢失或程序卡住。

5. 检查采样率:您提到降低采样率仍然出现问题,但请确保您的微控制器和ADS1292R都能支持您设置的采样率。如果采样率过高,可能会导致数据丢失或程序卡住。

6. 检查软件逻辑:检查您的软件逻辑,确保在读取数据后正确处理数据,并在需要时重新启动采样。如果软件逻辑有问题,可能会导致程序卡住。

7. 调试和测试:使用调试工具(如逻辑分析仪、示波器等)检查ADS1292R和微控制器之间的通信,以确定问题所在。您还可以尝试使用不同的微控制器或开发板,以排除硬件故障的可能性。

通过以上步骤,您应该能够找到问题所在并解决它。如果问题仍然存在,请提供更多详细信息,以便进一步分析和解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分