你(们)好。
我希望你能帮助我。 我使用的是具有8MHz 时钟和7500SPS 的 ADS1255。
ADS1255通过 SPI 与 Arduino Uno 板通信。 我正在使用此库 https://github.com/adienakhmad/ADS1256。
我正在等待 DRDY 变为低电平、然后读取通道。
PWDN 和复位连接到3V3。
通常、如果我在 while 环路中仅从 ADS1255读取数据、而没有其他函数会导致更大的延迟、那么一切都可以正常工作、并且我会获取数据。
但是、如果我在 while 循环中添加一些内容、这会导致延迟(例如打印函数)、那么 有时我的程序会挂起@adc.waitDRDY (); 在这里、我正在等待 DRDY 变为低电平、以便我可以读取新的数据输入。 但问题是 DRDY 处于高位、我不知道原因。
如果我在延迟之后添加命令 SELFCAL、在等待 DRDY 以便读取新数据之前、问题就会消失。
因此、原因似乎是 DRDY 有时(有时在5秒后、有时在45秒后)保持高电平。 但我真的不知道为什么。 此外、我获取样本的速度似乎有所不同。 与较高的采样率相比、较低的采样率似乎不会真正导致此问题。
你有什么建议吗? 在任何地方都可能存在一些计时问题?
我希望你能帮助我。 如果您需要更多信息、请告诉我。
此致、
Lukas