我正在读取ADC值,假设我正在从[NAU7802](14www.nuvoton.com/resource-files/NAU7802数据表V1.7.pdf0)读到的东西仍然对我还不陌生。我正在将值输出为8位整数(即0-255)作为三个字节。如何将三个字节合并在一起以得到24位值(0-16777215)的输出?
这是我使用的代码,如果我假设自己做对了,那么我仍然不熟悉I2C通信。
from smbus2 import SMBus
import time
bus = SMBus(1)
address = 0x2a
bus.write_byte_data(0x2a,0x00,6)
data = bus.read_i2c_block_data(0x2a,0x12,3)
print bus.read_i2c_block_data(0x2a,3)
adc1 = bin(data[2])
adc2 = bin(data[1])
adc3 = bin(data[0])
print adc1
print adc2
print adc3
当我手动转换二进制文件时,我得到并输出与我输入到ADC的内容相对应的输出。 Ouput:
[128,136,136]
0b10001001
0b10001000
0b10000000