Other Parts Discussed in Thread: DXP
Hi team,
My customer is using the TMP431 now and meets some problems. The phenomenon is below.
The customer build two boards. 1. The old board is ok. 2, the new board the near side is ok, the far-end BJT isn't right. We have checked the schematic and BJT and the code. They are all the same. And the DXP and DXN voltage are the same. Do you have some ideas about the phenomenon. Thanks.
DXP
DXN
*******************************************************************************/
void INIT_hous_temp(int ctrl_reg_base)
{
i2c_init(ctrl_reg_base);
unsigned char config1;
unsigned char config2;
i2c_read(ctrl_reg_base,0x4c,0x03,&config1);
config2=config1|0x04;
i2c_write(ctrl_reg_base,0x4c,0x09,config2);
usleep(1000000);
i2c_read(ctrl_reg_base,0x4c,0x03,&config1);
OSA_INFO("config1=%d\r\n",config1);
}
/*******************************************************************************
*
*******************************************************************************/
float READ_hous_temp(int ctrl_reg_base,int value)
{
unsigned char tmp;
unsigned char tmp1;
if(0==value)
{
i2c_read(ctrl_reg_base,0x4c,0,&tmp);
i2c_read(ctrl_reg_base,0x4c,0x15,&tmp1);
}
else
{
i2c_read(ctrl_reg_base,0x4c,0x01,&tmp);
i2c_read(ctrl_reg_base,0x4c,0x10,&tmp1);
}
float tmp2;
OSA_INFO("tmp=%d\r\n",tmp);
OSA_INFO("tmp1=%d\r\n",tmp1);
tmp2=(tmp1>>4)*0.0625+tmp-64;
return tmp2;
}
Br
Frank