You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派与Adafruit MAX31856通信失败,报错/dev/spidev0.0不存在

树莓派与Adafruit MAX31856通信故障排查

尝试用树莓派读取热电偶温度,已下载所需库、确认连接牢固,但运行代码时持续报错。

运行代码

import board 
import digitalio 
import adafruit_max31856 
spi = board.SPI() 
cs = digitalio.DigitalInOut(board.D5) 
cs.direction = digitalio.Direction.OTUPUT 
thermocouple = adafruit_max31856.MAX31856(spi,cs) 
print(thermocouple.temperature) 

报错信息

Traceback (most recent call last): 

  File "/home/pi/test4.py", line 6, in <module> 

    spi = board.SPI() 

  File "/usr/local/lib/python3.7/dist-packages/board.py", line 299, in SPI 

    return busio.SPI(SCLK, MOSI, MISO) 

  File "/usr/local/lib/python3.7/dist-packages/busio.py", line 289, in __init__ 

    self._spi = _SPI(portId) 

  File "/usr/local/lib/python3.7/dist-packages/adafruit_blinka/microcontroller/generic_linux/spi.py", line 25, in __init__ 

    self._spi = spi.SPI(device=(portid, 0)) 

  File "/usr/local/lib/python3.7/dist-packages/Adafruit_PureIO/spi.py", line 167, in __init__ 

    raise IOError("{} does not exist".format(device)) 

OSError: /dev/spidev0.0 does not exist

解决方案

1. 启用树莓派SPI总线

报错核心是/dev/spidev0.0设备不存在,说明SPI总线未启用:

  • 打开树莓派配置工具:sudo raspi-config
  • 依次选择「Interface Options」→「SPI」,确认选择「Yes」启用SPI
  • 重启树莓派:sudo reboot
  • 重启后执行ls /dev/spidev*,若看到spidev0.0和spidev0.1,说明SPI已成功启用

2. 修复代码拼写错误

代码第6行存在拼写错误:

cs.direction = digitalio.Direction.OTUPUT

需将OTUPUT改为OUTPUT,修正后代码:

cs.direction = digitalio.Direction.OUTPUT

3. 额外检查项

  • 确认引脚连接:树莓派SCLK(GPIO11)、MOSI(GPIO10)、MISO(GPIO9)需对应连接MAX31856的同名引脚,CS引脚接GPIO5(board.D5)
  • 检查用户权限:执行groups查看当前用户是否在spi组中,若不在,执行sudo usermod -aG spi pi添加权限,之后重新登录生效

内容的提问来源于stack exchange,提问作者Nicholas Warren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 06:27:28