라즈베리파이를 연습하고있는데 최근에는 spi communication을 연습하고있습니다.


예제를 따라하고있는데 똑같이 따라했다고 생각했는데 값이 출력이 되지 않습니다... 도와주세요


따라한 예제는

import spidev

import time

spi = spidev.SpiDev()


spi.open(0,0)

def analog_read(channel):

    r = spi.xfer2([1,(8+ channel) << 4,0])

    adc_out = ((r[1]&3) << 8) +r[2]

    return adc_out

while 1:

    reading = analog_read(0)

    voltage = reading * 3.3 / 1024

    print("Reading = %d\tVoltage=%f" % (reading,voltage))

    time.sleep(1)

입니다



뭔가 값이 나오고는 있기는 한데 값이 332, 64, 320 이런 같은값들만 반복적으로 나옵니다.


심지어 가변저항을 안건드려도 저렇게 값이 번갈아서 나올때도 많습니다...도와주세요...