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

使用MAX31865与树莓派读取温度异常显示极低负值问题排查

问题排查与解决

以下是几个可能导致读取到-242.02异常温度值的原因及对应解决方法:

  • SPI引脚初始化错误
    你代码里的board.SCLK()多了括号,board模块的引脚是属性而非可调用方法,错误调用会导致SPI总线无法正常工作。修正后的代码:

    spi = busio.SPI(board.SCLK, MOSI=board.MOSI, MISO=board.MISO)
    
  • CS引脚未设置输出方向
    初始化CS引脚时,需要明确设置其方向为输出,否则无法正确控制MAX31865:

    cs = DigitalInOut(board.D11)
    cs.direction = Direction.OUTPUT  # 添加这行配置
    
  • RTD类型与库默认配置不匹配
    Adafruit的MAX31865类默认适配PT100型传感器,如果你用的是PT1000等其他类型,初始化时需指定rtd_nominal参数:

    rtd = adafruit_max31865.MAX31865(spi, cs, rtd_nominal=1000)
    
  • SPI通信模式不匹配
    MAX31865要求使用SPI模式3(CPOL=1,CPHA=1),而库默认是模式0,需手动指定:

    spi = busio.SPI(board.SCLK, MOSI=board.MOSI, MISO=board.MISO, polarity=1, phase=1)
    
  • 树莓派SPI接口未启用
    确认树莓派的SPI接口已开启:

    1. 终端输入sudo raspi-config
    2. 进入Interfacing Options -> SPI选择启用
    3. 重启树莓派

内容的提问来源于stack exchange,提问作者Dinesh Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:10:08