ADS1282: ADS1282 死机

Part Number: ADS1282

我用ADS1282芯片,上电正常启动没问题。某些偶发条件,芯片返回值为全零,此时 DRY 引脚不产生中断。需要重新上电才能恢复正常。我用的连续采样模式,采集代码如下:

int16_t ADS1282_Read_Data(void) 
{
    unsigned char tx_data[2] = {0};
    unsigned char rx_data[2] = {0};

    rx_data[0] = SPI_ReadWrite(ads1282Gpio_hard.spi,tx_data[0]);
    rx_data[1] = SPI_ReadWrite(ads1282Gpio_hard.spi,tx_data[1]);
        
    int16_t result = ((int16_t)(rx_data[0]) << 8) | ((int16_t)(rx_data[1]));

    return result;
}

void drt_int(void)
{
  adc_val_tem = ADS1282_Read_Data();            // 读取ADC数据
  adc_cnt++;                                    // 采样计数+1
  ads1282_overtime_cnt = 0;
}

GPIO_EnableInt(ads1282Gpio_hard.dry, INT_HI2LO, drt_int);  // 使能Dry引脚中断