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.

ADS1119:

Part Number: ADS1119

Hello~
I am trying to read ADC value with ADS1119.
The ACK response from ADS1119 is also being received well.
However, the ADC value is actually displayed as 0.
I've looked at data from the internet, but I don't know, so I'm going to leave a question here.

Below is the function I made to read ADC.
I am talking on the premise that the subfunctions work correctly.

Please let me know if there is any misunderstanding of the concept

Take good care of me.

u16 ADS1119_B6_Read(uint8_t address)
{

if((Get_A_DRDY)==0)
{

i2c_Start();

ads_adress = (0x40+address)<<1;
address |= 0x01; //0 = write
i2c_write(ads_adress);

i2c_write(0x10);
ads_adress = (0x40+address)<<1;
ads_adress |= 0x01; //0 = write
i2c_Start();
i2c_write(ads_adress);

H_result = i2c_read();
ADS1119_SendACK(0);
L_result = i2c_read();
ADS1119_SendACK(1);

end_result = (H_result<<8)|L_result;
return end_result;

}

}

http://www.kiss03.com/0_del/ADS1119_code_picture.png

  • Hi Jang,

    Welcome to the E2E forum!  The best method to verify communication is to use an oscilloscope or logic analyzer.  If possible, send me screen shots of the communication for me to look at and verify the proper sequence and timing.

    The code appears to be the correct procedure.  One additional thought that might be missed is the ADS1119 defaults to single conversion mode which requires the START/SYNC command to be issued.  This command is different from the I2C start command.  Make sure that you issue the START/SYNC command prior to reading the conversion results.

    Best regards,

    Bob B