工具与软件:
大家好!
我对 ADS130B04的数据转换有疑问。
我将全部4个通道用作单端通道、负输入接地。
通信和设置正常运行、另外电压值似乎正确、但在通道1和3上、符号被交换。
我在所有通道上都具有大约0.6V 的输入电压、但通道1和3的输入电压为-0.6V。
在数据表中、数据表示为二进制补码、因此我的转换为:
int16_t data = (int16_t)(((uint16_t)msb << 8) | lsb);
float volts = ((float)data * 1.2f) / 32768.0f;
MSB 和 LSB 是由 NULL 命令从每个数据通道读取的第一个和第二个字节。
而1.2 / 32768来自减小的标度范围。
我在这里做错了什么? 有什么建议吗?
提前感谢、
Peter