您好!
我将 INA260与我的定制设计搭配使用、我尝试在不同的条件下读取电流值(使用电缆或不使用电缆- USB-C)、 但 我没有观察到电流变化的任何变化、它始终为-15536、 数据表显示电流寄存器是二进制补码值、转换为十进制、因此我无法读取正确的一致值。 需要您支持如何正确读取值。
INIT 函数如下所示
CONFIG = INA260_CONFIG_AVGRANGE_4 |
INA260_CONFIG_BVOLTAGETIME_8244US |
INA260_CONFIG_SCURRENTTIME_8244US |
INA260_CONFIG_MODE_SVOLT_CONSTATE;
MASK_DATA_var=MASK_ENABLE_DATA;
THRESH_CURR_var=CURRENT_THRESHOLD;
uint8_t CONFIG_DATA[2]、MASK_DATA[2]、THRESH_CURRENT[2];
CONFIG_DATA[0]=CONFIG>>8;
CONFIG_DATA[1]=CONFIG;
MASK_DATA[0]= MASK_DATA_var>8;
MASK_DATA[1]=MASK_DATA_var;
THRESH_CURRENT[0]= THRES_CURR_var>8;
THRESH_CURRENT[1]=THRESH_CURR_var;
I2C_USBINA260_Initialize (&myfrontINA260、F_INA260_ADDR);
RET = I2C_DEVICE_SequentialRead (&myfrontINA260、值、大小、(uint8_t) INA260_REG_CONFIG);
RET=I2C_DEVICE_SequentialWrite (&myfrontINA260、CONFIG_DATA、SIZE、(uint8_t) INA260_REG_CONFIG);
// if (ret =I2C_MESSAGE_COMPLETE)
RET = I2C_DEVICE_SequentialRead (&myfrontINA260、值、大小、(uint8_t) INA260_REG_CONFIG);
RET=I2C_DEVICE_SequentialWrite (&myfrontINA260、MASK_DATA、SIZE、MASK_ENABLE_register);
// if (ret =I2C_MESSAGE_COMPLETE)
RET=I2C_DEVICE_SequentialWrite (&myfrontINA260、THRESH_CURRENT、SIZE、ALERT_LIMIT_register);
I2C_USBINA260_Initialize (&myreinA260、R_INA260_ADDR);
// ret = I2C_DEVICE_SequentialRead (&myrehinA260、值、大小、(uint8_t) INA260_REG_CONFIG);
if (ret =I2C_MESSAGE_COMPLETE)
RET=I2C_DEVICE_SequentialWrite (&myreinA260、CONFIG_DATA、SIZE、(uint8_t) INA260_REG_CONFIG);
// if (ret =I2C_MESSAGE_COMPLETE)
RET=I2C_DEVICE_SequentialWrite (&myreinA260、MASK_DATA、SIZE、MASK_ENABLE_register);
// if (ret =I2C_MESSAGE_COMPLETE)
RET=I2C_DEVICE_SequentialWrite (&myrehINA260、THRESH_CURRENT、SIZE、ALERT_LIMIT_register);
谢谢、
Arun