如何在MicroPython中访问RP2040 NINA模块的GPIO引脚
解决RP2040 Connect访问NINA模块RGB LED引脚问题
核心问题原因
你看到的pin_map数组里的引脚号是NINA-W102模块自身的GPIO编号,不是RP2040本地引脚,直接用machine.Pin()调用这些编号无效——因为这些引脚属于远程模块,必须通过NINA的引脚扩展驱动来访问,而非直接操作本地Pin类。
解决方案步骤
导入并初始化NINA驱动
复用WiFi的SPI总线初始化NINA模块连接,不会和现有网络功能冲突:from machine import SPI, Pin import ninaw10 # 对应RP2040 Connect的NINA硬件引脚定义 spi = SPI(0, baudrate=10000000, sck=Pin(18), mosi=Pin(19), miso=Pin(16)) cs_pin = Pin(17, Pin.OUT, value=1) rst_pin = Pin(20, Pin.OUT, value=1) # 初始化NINA引脚扩展功能 ninaw10.init(spi, cs_pin, rst_pin)控制RGB LED引脚
使用ninaw10.Pin()类而非machine.Pin()来操作远程引脚,对应pin_map里的编号:# 初始化RGB LED引脚为输出模式 red_led = ninaw10.Pin(27, ninaw10.Pin.OUT) green_led = ninaw10.Pin(25, ninaw10.Pin.OUT) blue_led = ninaw10.Pin(26, ninaw10.Pin.OUT) # 点亮红色LED(NINA的RGB LED为共阳极设计,低电平点亮) red_led.value(0) # 熄灭红色LED red_led.value(1)
关键注意事项
- 无需额外添加NINA模块:现有WiFi功能已经基于该驱动运行,初始化引脚扩展只是复用同一个SPI连接,不会产生冲突。
- LED极性:NINA-W102的RGB LED为共阳极,需输出低电平点亮、高电平熄灭,测试时可调整
value()参数验证效果。
内容的提问来源于stack exchange,提问作者wz2b
相关产品推荐
相关产品推荐

