Я пытаюсь использовать АЦП MPC3001 с Raspberry pi через SPI с использованием Python. При этом я получаю странные результаты:
Код, который я использую:
import sys
import spidev
spi = spidev.SpiDev()
spi.open(0,0)
def readAdc(channel):
r = spi.xfer2([1, 8 + channel << 4, 0])
return ((r[1]&3) << 8) + r[2]
while True:
print readAdc(0)
time.sleep(0.5)
выполнение приведенного выше сценария при измерении центральной точки делителя напряжения приводит к случайному переключению между двумя значениями: 504 и 1016.
Поскольку 504 - это значение, которое я ожидал бы быть правильным, в сочетании с двоичным представлением двух результатов;
504 --> 00111111000
1016 --> 01111111000
Я предполагаю, что случайно где-то «создаю» 1.
Может ли кто-нибудь указать мне правильное направление. заранее спасибо
Кстати: это я, или нет достойной документации для spidev lib?