我有一个ADC HX711,它以2s补码形式提供输出。 我想计算给定ADC的输入电压。
重新计算ADC输入电压需要做的所有计算。
参考= 1.25伏特 ADC计数= 2s补码。
由于
答案 0 :(得分:2)
- 来自Two's Complement的转换 -
使用数字0xFFFFFFFF作为示例。在二进制文件中,即:
1111 1111 1111 1111 1111 1111 1111 1111
我们可以对这个数字说些什么?它的第一个(最左边)位是1,这意味着它代表一个负数。这就是事物处于二进制补码的方式:前导1表示数字为负数,前导0表示数字为0或正数。
要查看此数字是否为负值,我们会反转此数字的符号。但是怎么做呢?课堂笔记说(在3.17上)要反转符号,你只需将位反转(0变为1,1到0)并在结果数字中加1。
这个二进制数的反转显然是:
<00> 0000 0000 0000 0000 0000 0000 0000 0000然后我们添加一个。
<00> 0000 0000 0000 0000 0000 0000 0000 0001所以0xFFFFFFFF的负数是0x00000001,通常称为1.所以0xFFFFFFFF是-1。
- ADC观点 -
由于您没有提及位数作为输出,将给出通用答案:
您获得的值与您正在使用的参考值成比例。
10位= 1024步(0到1023)
因此计算得出结果的电压是:
Result_mV =(参考电压,单位为mV / 1023)*结果(ADC的十进制值)