我正在尝试安装由Adafruit为MCP3008 AD转换器的库。所有的安装过程都是成功的,但在运行一个基本程序后,它显示了一条错误消息。我使用Python3.7.3在RPi4上运行这个程序。下面是我的代码:
import time
import Adafruit_GPIO.SPI as SPI
import Adafruit_MCP3008
SPI_PORT = 0
SPI_DEVICE = 0
mcp = Adafruit_MCP3008.MCP3008(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))
print('Reading MCP3008 values, press Ctrl-C to quit...')
print('| {0:>4} | {1:>4} | {2:>4} | {3:>4} | {4:>4} | {5:>4} | {6:>4} | {7:>4} |'.format(*range(8)))
print('-' * 57)
while True:
values = [0]*8
for i in range(8):
values[i] = mcp.read_adc(i)
print('| {0:>4} | {1:>4} | {2:>4} | {3:>4} | {4:>4} | {5:>4} | {6:>4} | {7:>4} |'.format(*values))
time.sleep(0.5)在使用以下命令从我的RPi4调用特定程序之后:
sudo python3 adc.pyConsole向我显示以下消息:
Traceback (most recent call last):
File "adc.py", line 7, in <module>
mcp = Adafruit_MCP3008.MCP3008(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))
File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/SPI.py", line 46, in __init__
SystemError: error return without exception set这真的很烦人,因为我不知道问题出在哪里。我是Python的新手,但我读到它与C-2-Python解释器有关。你能帮我解决这个问题吗?它用于使用MCP3008模数转换器读取光电二极管输入。非常感谢!
发布于 2021-02-22 18:55:45
解决了!新的RasPi操作系统不再支持我使用的库。如果您遇到同样的问题,则必须使用此命令sudo pip3 install adafruit-circuitpython-mcp3xxx而不是git clone https://github.com/adafruit/Adafruit_Python_GPIO.git。当然,您必须执行一些其他步骤才能实现MCP3008的全部功能。有关更多信息或步骤,请随时与我联系。如果我知道怎么做的话我会帮忙的。
https://stackoverflow.com/questions/66282588
复制相似问题