无法弄清楚如何从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()
答案 0 :(得分:0)
注释:提供与xfer2中相同的输出,因为函数xfer2返回给定的值,因此实际上并不是对工作spi的确认
那是xfer
应该做什么
它与spidev_test.c
输出有何不同?
使用不可用的port
或device
,您将失败。
评论:缺少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()