MicroPython树莓派Pico引脚输入异常:GP14按钮正常,GP15按钮始终为高电平
树莓派Pico GP15引脚按钮无响应的排查方案
按照优先级从高到低排查即可定位问题:
1. 物理接线排查(90%的问题出在这)
- 确认GP15的杜邦线是否插对位置:对照Pico板上的丝印,确认接线确实接到GP15引脚,而非相邻的3.3V输出引脚、GND引脚或其他GPIO引脚。很多新手会把GP15和旁边的GP16、GND引脚搞混。
- 检查是否有引脚短路:GP15相邻的引脚是你代码里定义为输出的
motorLeft(GP16),如果两个引脚的杜邦线金属部分裸露、互相接触,GP15的电平会被GP16的输出电平拉死,不受按钮控制。 - 交叉测试按钮好坏:把按钮1的接线换到GP14引脚,如果换到GP14后可以正常触发,说明按钮本身没有损坏;如果换过去还是没反应,就是按钮本身故障,更换即可。
2. 排除其他配置干扰
- 先运行最小测试代码,排除电机引脚、残留启动代码的干扰:
from machine import Pin from time import sleep # 把电机引脚设为高阻输入,取消输出模式 Pin(18, Pin.IN) Pin(16, Pin.IN) btn15 = Pin(15, Pin.IN, Pin.PULL_UP) btn14 = Pin(14, Pin.IN, Pin.PULL_UP) while True: print("GP15电平:", btn15.value(), "GP14电平:", btn14.value()) sleep(0.2)
- 运行后不按按钮时,两个引脚的电平都应该为
1(内置上拉生效)。如果GP15的电平在不接按钮时就不是1,说明上拉没有生效或者引脚被外部电路拉死。 - 如果你用了扩展板,先把Pico从扩展板上拔下来,在裸Pico上测试GP15,排除扩展板上其他外设拉死GP15电平的情况。
3. 引脚功能/损坏排查
- 手动电平测试:用杜邦线直接把GP15接3.3V,看打印的电平是否变为1;再把GP15直接接GND,看电平是否变为0。如果接3.3V/GND后电平没有任何变化,说明GP15的GPIO引脚已经被静电或过流烧坏,直接换其他空闲GPIO即可。
- 确认没有残留的启动代码覆盖引脚配置:检查Pico里有没有
boot.py或main.py残留的初始化代码,把GP15配置成了SPI、I2C等复用功能,覆盖了当前代码的输入配置。可以擦除固件后重新烧录最新的MicroPython固件,排除这个问题。
补充:你当前代码里没有给电机引脚指定初始值,MicroPython会默认把输出引脚初始化为低电平,如果GP15和GP16短路,理论上应该是GP15被拉成低电平,如果你遇到的是GP15始终为高电平,优先检查是不是GP15的线误插到了3.3V输出引脚。
内容的提问来源于stack exchange,提问作者Goran Nikolic
相关产品推荐
相关产品推荐

