Other Parts Discussed in Thread: ADS1292
Hello friends, I'm having some difficulty getting the ADS1292R Chip ID read correctly. After running the code in debug mode, I notice that at the point where it checks the device ID, several values are returned, such as: 0, 254, 255. I checked the entire power up routine and I don't think there is an error.
void ADS1292R_PowerOnInit(void){
ADS1292R_CS_H;
ADS1292R_START_L;
ADS1292R_PWDN_H;
delay_ms(2000);
ADS1292R_CS_H;
ADS1292R_START_L;
ADS1292R_PWDN_L; /*ENTER POWER DOWN MODE*/
delay_ms(20);
ADS1292R_PWDN_H;
delay_ms(20);
ADS1292R_PWDN_L;
delay_ms(2);
ADS1292R_PWDN_H;
delay_ms(200);
ADS1292R_CMD(ADS1292R_SDATAC);
delay_ms(200);
ADS1292R_CMD(ADS1292R_ADSRESET);
delay_ms(1000);
ADS1292R_CMD(ADS1292R_SDATAC);
delay_ms(200);
delay_ms(10);
while(device_id!=83){
device_id=ADS1292R_REG(ADS1292R_RREG|ADS1292R_ID,0x00);
printf("\rVALUE ID %u",device_id);
delay_ms(200);
}
Thanks in advance