This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS1299:数据就绪引脚未变为低电平。

Guru**** 2566365 points
Other Parts Discussed in Thread: ADS1299

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1017085/ads1299-data-ready-pin-not-going-low

器件型号: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
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此问题已解决。 请勿打扰。