Modberry扩展板调用GPIO触发RPi.GPIO无效通道错误咨询
错误原因
RPi.GPIO是树莓派专属的GPIO控制库,内置仅校验树莓派原生支持的GPIO编号,你代码里的12、13属于标准BCM编号引脚可以正常识别,但是用到的37、38、505属于Modberry扩展板引出的非标GPIO编号,不在原版RPi.GPIO的合法引脚校验列表里,所以直接触发了ValueError报错。
解决方案
原版RPi.GPIO没有额外配置可以支持这类扩展引脚,你可以选择两种适配方案:
- 优先替换为通用GPIO库,比如工业嵌入式设备常用的
gpiod:- 先安装Python绑定:
pip install gpiod - 对照Modberry官方手册确认每个引脚对应的gpiochip编号和行号,你提到的大数字编号(如505)一般就是sysfs下的GPIO编号,可以直接映射使用
- 操作GPIO时注意用root权限运行脚本,否则会有权限报错
- 先安装Python绑定:
- 如果必须沿用
RPi.GPIO的代码逻辑,可以去Modberry官方社区找适配过的RPi.GPIOfork版本,这类定制版本会预先加入扩展板的引脚校验规则,安装后可以直接兼容你现有的代码。
内容的提问来源于stack exchange,提问作者NKK
相关产品推荐
相关产品推荐

