当前位置: 首页 > 知识库问答 >
问题:

Python 3.7。3 SystemError:错误返回,未设置异常

卫华奥
2023-03-14

我正试图通过Adafruit为MCP3008 AD转换器安装库。所有的安装过程都是成功的,但在运行一个基本程序后,它会向我显示一条错误消息。我正在用Python3.7在RPi4上运行这个程序。3.这是我的代码:

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.py

Console向我显示以下消息:

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 ADC读取光电二极管输入。多谢各位!

共有1个答案

司马俊晖
2023-03-14

解决了的!新的RasPi操作系统不再支持我使用的库。如果您有相同的问题,则必须使用此命令sudo pip3 install adafruit-circuitpython-mcp3xxx而不是git clonehttps://github.com/adafruit/Adafruit_Python_GPIO.git。当然,为了实现MCP3008的全部功能,您还必须执行一些其他步骤。有关更多信息或步骤,请随时与我联系。如果我知道怎么做,我会帮忙的。

 类似资料:
  • 问题内容: 我正在尝试加载具有获取Google Map脚本功能的两个脚本,然后在加载后,我获得另一个脚本(),该脚本使Map applet易于制作。 但是,加载后,获取Google Map API的第一个脚本很好,然后第二个脚本返回解析错误并显示以下内容: TypeError:’undefined’不是构造函数’ 但是,我不知道从哪里引用或从哪一行引用,我认为它一定是试图在此文件上执行Geocod

  • 基类控制器里有error方法,用于api的错误消息返回输出 /** * 操作错误跳转的快捷方法 * @access protected * @param mixed $msg 提示信息,若要指定错误码,可以传数组,格式为['code'=>您的错误码,'msg'=>'您的错误消息'] * @param mixed $data 返回的数据 * @par

  • 我的项目在eclipse中运行得很好,但当我在cmd中运行该项目的jar时,我得到错误似乎我的FXML没有正确加载。我知道这个问题被问了很多次,但没有一个能解决我的问题。我试着用 但我还是有错误。 这是我的项目的结构 在Eclipse中运行的方法:

  • @ResponseBody无法返回forma json,我在浏览器上获得了Etat HTTP 406 我正在使用:jackson-core-asl 1.9.3和ajckson-mapper-asl 1.9.3 Getjson: Spring: 我的servelet-context: 我通过这个url进入浏览器: http://othman-pc.com:8080/dsi/natureparoper

  • 问题内容: 当选择menuItem时,尝试关闭当前场景并打开另一个场景时出现问题。我的主要阶段编码如下: 执行该程序后,它将转到cartHomePage.fxml。选择菜单项后,我可以从那里选择创建产品或创建类别。这是我的动作事件: 但是,我只能切换一次舞台。例如,我的默认页面是cartHomePage.fxml。运行程序时,首先要创建产品阶段。在那之后,我不能再去任何地方了。错误消息是: 我关上

  • 我的项目在eclipse中正常运行,但当我创建该项目的jar文件并试图通过cmd运行它时,它显示“Location is not set”错误。 我的项目结构是: 方法是(在eclipse中运行):

  • 在本地开发环境中使用Eclipse(Mars.1发行版(4.5.1))中的Forge 1.8.9。 在环游世界一小段时间后,然后注销该世界并返回(同一个会话中,退出并关闭MC),世界将无法出现在控制台中。该位置与“一切正常”登录中的位置相同。另外还有一个错误的位置!错误 控制台的错误如下: 我已经尝试过一些变化,包括Minecraft Forge:使用正确的连接游戏侦听器进行设置位置和角度,但不使