请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:ADS1299 主席先生,
我已经用 ADS1299进行了几天的实验。 昨天、我制作了一个程序来提取1nxP 和1nxN 引脚上可用的原始数据(随机噪声)。 我在 Arduino 串行监视器上获得了一些值。 我使用 ESP32作为控制器。 今天、我开始进行设置、使用与 SPI + DRDY + RESET 相同的连接。 但现在数据就绪引脚始终保持高电平。 通过将 ESP32 wrt DRDY 引脚的相应输入设置为低电平、我能够提取一些随机数据。 电源和代码与昨天相同。 程序已发送 RDATAC 命令来收集数据。
我想知道这个问题是如何出现的! DRDY 是否存在任何变为低电平的条件。 昨天,同一个方案没有任何缺陷,运作良好。 下面是我在用于 ESP32的 Arduino IDE 的 void Main()中使用的函数。
void getADSdata(){
long dataPacket = 0;
vspi->beginTransaction(SPISettings(spiClk, MSBFIRST, SPI_MODE1));
digitalWrite(ADS_CS, LOW); //Low to communicated
for(int i = 0; i<3; i++){
byte dataByte = vspi->transfer(0x00);
statusData = (dataPacket<<8) | dataByte;
}
for(int i = 0; i<8; i++){
for(int j = 0; j<3; j++){
byte dataByte = vspi->transfer(0x00);
dataPacket = (dataPacket<<8) | dataByte;
}
output[i] = dataPacket;
dataPacket = 0;
}
digitalWrite(ADS_CS, HIGH);
vspi->endTransaction();
#ifdef DEBUG
for (int i=0;i<8; i++) {
Serial.print("Data[" + String(i) + "]: ");
Serial.print(output[i], HEX);
if(i!=8) Serial.print(", ");
}
Serial.println();
#endif
}