【Follow me第二季第4期】Arduino Nano RP2040 Connect之GPIO控制
[复制链接]
本期活动发放的开发板是Arduino Nano RP2040 Connect,这块主板上的主芯片是树莓派的RP2040。
在尝试使用nano控制外部继电器时发现实际硬件并不是任意一个IO都适合,就整理资料如下。
先说结论:在nano板上,适合控制外部的RP2040的IO有9个。
原因如下:
RP2040的手册中有总结到该芯片支持30个多功能GPIO:
然后找到RP2040的芯片引脚图,图中分别有GPIO 0~29:
然后分析原理图汇总结果如下:
RP2040
pin number |
RP2040 GPIO |
pinMode |
功能 |
是否支持PWM |
排插 |
硬件原理图 |
备注 |
2 |
GPIO0 |
|
UART1 TX |
|
JP3.1 |
TX |
|
3 |
GPIO1 |
|
UART1 RX |
|
JP3.2 |
RX |
|
4 |
GPIO2 |
|
|
|
直连+TP |
NINA GPIO0 |
|
5 |
GPIO3 |
|
|
|
直连+TP |
RSTN_NINA |
|
6 |
GPIO4 |
12 |
|
|
JP3.15 |
SPI RX? |
|
7 |
GPIO5 |
10 |
|
PWM |
JP3.13 |
D10 |
|
8 |
GPIO6 |
13 |
LED_BUILTIN |
PWM |
JP2.1 |
SPI CLK |
|
9 |
GPIO7 |
11 |
|
|
JP3.14 |
SPI TX? |
|
10 |
|
|
|
|
|
|
|
11 |
GPIO8 |
|
|
|
直连+TP |
SPI1 |
|
12 |
GPIO9 |
|
|
|
直连+TP |
SPI1 |
|
13 |
GPIO10 |
|
|
|
直连 |
SPI1 |
缺TP |
14 |
GPIO11 |
|
|
|
直连 |
SPI1 |
缺TP |
|
|
|
|
|
|
|
|
15 |
GPIO12 |
18 |
I2C SDA |
|
JP2.8 |
A4 |
|
16 |
GPIO13 |
19 |
I2C SCL |
|
JP2.9 |
A5 |
|
17 |
GPIO14 |
|
|
|
|
|
|
18 |
GPIO15 |
3 |
|
PWM |
JP3.6 |
D3 |
|
|
|
|
|
|
|
|
|
27 |
GPIO16 |
4 |
|
PWM |
JP3.7 |
D4 |
|
28 |
GPIO17 |
5 |
|
PWM |
JP3.8 |
D5 |
|
|
|
|
|
|
|
|
|
29 |
GPIO18 |
6 |
|
PWM |
JP3.9 |
D6 |
|
30 |
GPIO19 |
7 |
|
PWM |
JP3.10 |
D7 |
|
31 |
GPIO20 |
8 |
|
PWM |
JP3.11 |
D8 |
|
32 |
GPIO21 |
9 |
|
PWM |
JP3.12 |
D9 |
|
|
|
|
|
|
|
|
|
34 |
GPIO22 |
|
PDMDIN |
|
直连 |
|
缺TP |
35 |
GPIO23 |
|
PDMCLK |
|
直连 |
|
缺TP |
36 |
GPIO24 |
|
|
|
直连 |
INT1 |
缺TP |
37 |
GPIO25 |
2 |
|
PWM |
JP3.5 |
D2 |
|
38 |
GPIO26 |
14 |
ADC0 |
|
JP2.4 |
|
|
39 |
GPIO27 |
15 |
ADC1 |
|
JP2.5 |
|
|
40 |
GPIO28 |
16 |
ADC2 |
|
JP2.6 |
|
|
41 |
GPIO29 |
17 |
ADC3 |
|
JP2.7 |
|
|
56 |
|
|
|
|
JP2.13 |
SPI_CSn |
|
黄色是目前主板已经确定使用功能的,比如UART,I2C,PDM
紫色是RP2040对应的4路ADC
蓝色对应SPI接口
剩下的是可以在主板排插引出来的,适合控制外部的IO,且同时支持PWM。
GPIO6对应的是板载的提示灯,实际也可以使用,但不推荐。
综上,适合通过pinMode API控制的管脚编号有2~10这个9个。
附:A4~A7是nina芯片映射出来的,不是RP2040直接控制的。
|