尊敬的 TI 工程师
我使用 STM32微控制器驱动 ADS1118来收集 K 热电偶。收集的数据不正确。 下面是我的工作方式、 看看是否有问题。谢谢
1、ADS1118读写功能
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); //温度传感器
CONF_REG = SPI_ReadData (SPI1_Obj、reg); //ADC 收集
// conf_reg = SPI_ReadData (SPI1_Obj、0x89a); // ADC 收集
SPI_CS_HIGH;
返回 conf_reg;
}
uint32_t ADS1118_ReadWriteReg (空)
{
uint32_t conf_reg=0;
SPI_CS_LOW;
delay_us (100);
CONF_REG = SPI_ReadData_32位(SPI1_Obj、0x04EB04EB);
SPI_CS_HIGH;
返回 conf_reg;
}
2、主功能处理
#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值:%x;ads1118_tempature:%.2f\r\n"、ads1118_v、ads_value);
}