试图在RaspPi 3上运行SPI(环回)

时间:2017-08-13 20:42:13

标签: python raspberry-pi raspberry-pi3

无法弄清楚如何从spidev模块进行环回测试。 执行提供的spidev_test.c文件有效。尚未在Python中使用。

import spidev
import time

spi = spidev.SpiDev()
spi.loop = True
spi.open(0,0)

try:
    while True:
        spi.writebytes([0xAA, 0xFF])
        time.sleep(0.01)
        print(spi.readbytes(2))    
except KeyboardInterrupt:
    spi.close()

1 个答案:

答案 0 :(得分:0)

  

注释:提供与xfer2中相同的输出,因为函数xfer2返回给定的值,因此实际上并不是对工作spi的确认

那是xfer应该做什么 它与spidev_test.c输出有何不同?
使用不可用的portdevice,您将失败。

  

评论:缺少spi.loopback()

您是否检查了spi.loop状态?
随意设置spi.loop = True
相关:Loopback_Testing

你看起来像这样:

import spidev
import time

spi = spidev.SpiDev()
# spidev_test.c uses /dev/spidev1.1
spi.open(1,1) #use spi Port 1, device (CS) 1

while True:
    try:
        response = spi.xfer2([0xAA, 0xFF])
        print(response)
        time.sleep(1)
    except KeyboardInterrupt:
        spi.close()