Dear TI Engineer
I use the stm32 microcontroller to drive the ADS1118 to collect K thermocouples.The collected data is incorrect. Here's how I'm doing it, See if there's a problem.Thanks
1、ADS1118 read and write function
uint16_t ADS1118_ReadConfReg(uint16_t reg)
{
uint16_t conf_reg=0;
SPI_CS_LOW;
delay_us(100);
// conf_reg = SPI_ReadData(Spi1_Obj,0x04FB); //temprature sensor
conf_reg = SPI_ReadData(Spi1_Obj,reg); //ADC collect
// conf_reg = SPI_ReadData(Spi1_Obj,0x89a); //ADC collect
SPI_CS_HIGH;
return conf_reg;
}
uint32_t ADS1118_ReadWriteReg(void)
{
uint32_t conf_reg=0;
SPI_CS_LOW;
delay_us(100);
conf_reg = SPI_ReadData_32bit(Spi1_Obj,0x04EB04EB);
SPI_CS_HIGH;
return conf_reg;
}
2、main function processing
#define ReadADC_Reg 0x8283 //0x04e3
uint16_t ads1118_v=0;
uint32_t ads_reg = 0;
float ads_value = 0;
while(1)
{
ads1118_v = ADS1118_ReadConfReg(ReadADC_Reg); //AD collect
ads_value = (float)ads1118_v *4.096/32768;
printf("ads118 value: %x ; ads1118_temprature: %.2f\r\n",ads1118_v,ads_value);
}